Ejemplo n.º 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));
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ObjectIntroductionHelper"/> class.
 /// </summary>
 /// <param name="introducer">The introducer of new objects to which deciding based on available objects is delegated.</param>
 /// <param name="helper">The normalization helper that needs to be know about all objects and therefore needs to be communicated with.</param>
 public ObjectIntroductionHelper(IObjectIntroducer introducer, NormalizationHelper helper)
 {
     _introducer = introducer ?? throw new ArgumentNullException(nameof(introducer));
     _helper     = helper ?? throw new ArgumentNullException(nameof(helper));
 }