Newer
Older
RDLProofSystem / src / main / java / inference / InferenceHistoryNode.java
@Sakoda2269 Sakoda2269 5 days ago 1016 bytes map compositionの推論を作成
package inference;
import java.util.List;

import com.google.common.base.Objects;

import lombok.Getter;
import models.formulas.Formula;

@Getter
public class InferenceHistoryNode {

	private final List<Formula> assumptions;
	private final Formula conclusion;
	private final InferenceRule usedRule;
	
	public InferenceHistoryNode(List<Formula> assumptions, InferenceRule usedRule, Formula conclusion) {
		this.assumptions = assumptions;
		this.usedRule = usedRule;
		this.conclusion = conclusion;
	}
	
	@Override
	public boolean equals(Object another) {
		if (another instanceof InferenceHistoryNode node) {
			return Objects.equal(node.assumptions, this.assumptions) && Objects.equal(node.usedRule, this.usedRule) && Objects.equal(this.conclusion, node.conclusion);
		}
		return false;
	}
	
	@Override
	public int hashCode() {
		return Objects.hashCode(assumptions, conclusion, usedRule);
	}
	
	@Override
	public String toString() {
		return assumptions + "---(" + usedRule.getName() + ")--->" + conclusion;
	}
	
}