/// <summary> /// Initializes a new instance of the <see cref="TheoremProver"/> class. /// </summary> /// <param name="settings"><inheritdoc cref="_settings" path="/summary"/></param> /// <param name="manager"><inheritdoc cref="_manager" path="/summary"/></param> /// <param name="applier"><inheritdoc cref="_applier" path="/summary"/></param> /// <param name="producer"><inheritdoc cref="_producer" path="/summary"/></param> /// <param name="verifier"><inheritdoc cref="_verifier" path="/summary"/></param> /// <param name="introducer"><inheritdoc cref="_introducer" path="/summary"/></param> /// <param name="tracer"><inheritdoc cref="_tracer" path="/summary"/></param> public TheoremProver(TheoremProverSettings settings, IInferenceRuleManager manager, IInferenceRuleApplier applier, ITrivialTheoremProducer producer, IGeometricTheoremVerifier verifier, IObjectIntroducer introducer, IInvalidInferenceTracer tracer) { _settings = settings ?? throw new ArgumentNullException(nameof(settings)); _applier = applier ?? throw new ArgumentNullException(nameof(applier)); _manager = manager ?? throw new ArgumentNullException(nameof(manager)); _producer = producer ?? throw new ArgumentNullException(nameof(producer)); _verifier = verifier ?? throw new ArgumentNullException(nameof(verifier)); _introducer = introducer ?? throw new ArgumentNullException(nameof(introducer)); _tracer = tracer ?? throw new ArgumentNullException(nameof(tracer)); }
/// <summary> /// Initializes a new instance of the <see cref="TheoremProvingSettings"/> class. /// </summary> /// <param name="inferenceRuleManagerData">The data for <see cref="InferenceRuleManager"/>.</param> /// <param name="objectIntroducerData">The data for <see cref="ObjectIntroducer"/>.</param> /// <param name="theoremProverSettings">The settings for <see cref="TheoremProver"/>.</param> public TheoremProvingSettings(InferenceRuleManagerData inferenceRuleManagerData, ObjectIntroducerData objectIntroducerData, TheoremProverSettings theoremProverSettings) { InferenceRuleManagerData = inferenceRuleManagerData ?? throw new ArgumentNullException(nameof(inferenceRuleManagerData)); ObjectIntroducerData = objectIntroducerData ?? throw new ArgumentNullException(nameof(objectIntroducerData)); TheoremProverSettings = theoremProverSettings ?? throw new ArgumentNullException(nameof(theoremProverSettings)); }