/// <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="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)); }