Example #1
0
 /// <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));
 }
Example #2
0
 /// <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));
 }