public RecursiveReferenceEqualityExplanation(Term source, Term target, EqualityExplanation ReferencedExplanation, int GenerationOffset, bool isPrime = false) : base(source, target) { this.ReferencedExplanation = ReferencedExplanation; ReferencedExplanation.ReferenceBackPointers.Add(this); this.GenerationOffset = GenerationOffset; this.isPrime = isPrime; }
public void UpdateReference(EqualityExplanation newExplanation) { ReferencedExplanation.ReferenceBackPointers.Remove(this); ReferencedExplanation = newExplanation; if (newExplanation != null) { newExplanation.ReferenceBackPointers.Add(this); } }
public R visit(EqualityExplanation target, A arg) { return(target.Accept(this, arg)); }