Erin is big. Erin is cold. Erin is kind. Erin is not nice. Erin is round. Erin is smart. Erin is young. All cold people are smart. If someone is young then they are smart. If someone is smart and big then they are young. If Erin is smart then Erin is cold. Nice, young people are not cold. If someone is smart and not cold then they are round. If someone is smart and big then they are round. If someone is nice and not round then they are kind.
Erin is big.
("Erin" "is" "big" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is not nice.
("Erin" "is" "nice" "-")
Erin is round.
("Erin" "is" "round" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Erin is young.
("Erin" "is" "young" "+")
All cold people are smart.
((("someone" "is" "cold" "+")) -> ("someone" "is" "smart" "+"))
If someone is young then they are smart.
((("someone" "is" "young" "+")) -> ("someone" "is" "smart" "+"))
If someone is smart and big then they are young.
((("someone" "is" "smart" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "young" "+"))
If Erin is smart then Erin is cold.
((("Erin" "is" "smart" "+")) -> ("Erin" "is" "cold" "+"))
Nice, young people are not cold.
((("someone" "is" "nice" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "cold" "-"))
If someone is smart and not cold then they are round.
((("someone" "is" "smart" "+") ("someone" "is" "cold" "~")) -> ("someone" "is" "round" "+"))
If someone is smart and big then they are round.
((("someone" "is" "smart" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "round" "+"))
If someone is nice and not round then they are kind.
((("someone" "is" "nice" "+") ("someone" "is" "round" "~")) -> ("someone" "is" "kind" "+"))
Erin is smart.
True
1
proof
[(triple6 OR ((triple2) -> rule1) OR ((triple7) -> rule2))]
("Erin" "is" "smart" "+")
triple6
((triple2) -> (rule1 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
((triple7) -> (rule2 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is not smart.
False
1
inv-proof
[(triple6 OR ((triple2) -> rule1) OR ((triple7) -> rule2))]
("Erin" "is" "smart" "-")
triple6
((triple2) -> (rule1 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
((triple7) -> (rule2 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
@0: Erin is big.[(triple1)] Erin is cold.[(triple2 OR ((triple6) -> rule4) OR ((((triple7) -> rule2)) -> rule4))] Erin is kind.[(triple3)] Erin is not nice.[(triple4)] Erin is round.[(triple5 OR ((triple6 triple1) -> rule7) OR ((((triple2) -> rule1) triple1) -> rule7) OR ((((triple7) -> rule2) triple1) -> rule7))] Erin is smart.[(triple6 OR ((triple2) -> rule1) OR ((triple7) -> rule2))] Erin is young.[(triple7 OR ((triple6 triple1) -> rule3) OR ((((triple2) -> rule1) triple1) -> rule3))]
Erin is big.
("Erin" "is" "big" "+")
triple1
Erin is cold.
("Erin" "is" "cold" "+")
triple2
((triple6) -> (rule4 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((((triple7) -> (rule2 % int2))) -> (rule4 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
triple3
Erin is not nice.
("Erin" "is" "nice" "-")
triple4
Erin is round.
("Erin" "is" "round" "+")
triple5
((triple6 triple1) -> (rule7 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
((((triple2) -> (rule1 % int2)) triple1) -> (rule7 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
((((triple7) -> (rule2 % int2)) triple1) -> (rule7 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
triple6
((triple2) -> (rule1 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
((triple7) -> (rule2 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
triple7
((triple6 triple1) -> (rule3 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
((((triple2) -> (rule1 % int2)) triple1) -> (rule3 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2