Bob is big. Bob is blue. Bob is cold. Bob is quiet. Bob is red. Erin is big. Erin is blue. Erin is cold. Erin is quiet. Erin is red. Erin is rough. Erin is young. All quiet, blue things are young. If something is rough and blue then it is cold. All cold things are red. Young things are big. All young things are rough. If Bob is red then Bob is big.
Bob is big.
("Bob" "is" "big" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is red.
("Bob" "is" "red" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is young.
("Erin" "is" "young" "+")
All quiet, blue things are young.
((("something" "is" "quiet" "+") ("something" "is" "blue" "+")) -> ("something" "is" "young" "+"))
If something is rough and blue then it is cold.
((("something" "is" "rough" "+") ("something" "is" "blue" "+")) -> ("something" "is" "cold" "+"))
All cold things are red.
((("something" "is" "cold" "+")) -> ("something" "is" "red" "+"))
Young things are big.
((("something" "is" "young" "+")) -> ("something" "is" "big" "+"))
All young things are rough.
((("something" "is" "young" "+")) -> ("something" "is" "rough" "+"))
If Bob is red then Bob is big.
((("Bob" "is" "red" "+")) -> ("Bob" "is" "big" "+"))
Erin is young.
True
1
proof
[(triple12 OR ((triple9 triple7) -> rule1))]
("Erin" "is" "young" "+")
triple12
((triple9 triple7) -> (rule1 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is not big.
False
1
inv-proof
[(triple6 OR ((triple12) -> rule4) OR ((((triple9 triple7) -> rule1)) -> rule4))]
("Erin" "is" "big" "-")
triple6
((triple12) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
((((triple9 triple7) -> (rule1 % int2))) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Bob is young.
True
3
proof
[(((triple4 triple2) -> rule1))]
("Bob" "is" "young" "+")
((triple4 triple2) -> (rule1 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is not young.
False
3
inv-proof
[(((triple4 triple2) -> rule1))]
("Bob" "is" "young" "-")
((triple4 triple2) -> (rule1 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is rough.
True
4
proof
[(((((triple4 triple2) -> rule1)) -> rule5))]
("Bob" "is" "rough" "+")
((((triple4 triple2) -> (rule1 % int2))) -> (rule5 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is not rough.
False
4
inv-proof
[(((((triple4 triple2) -> rule1)) -> rule5))]
("Bob" "is" "rough" "-")
((((triple4 triple2) -> (rule1 % int2))) -> (rule5 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
@0: Bob is big.[(triple1 OR ((triple5) -> rule6) OR ((((triple3) -> rule3)) -> rule6) OR ((((triple4 triple2) -> rule1)) -> rule4) OR ((((((((((triple4 triple2) -> rule1)) -> rule5) triple2) -> rule2)) -> rule3)) -> rule6))] Bob is blue.[(triple2)] Bob is cold.[(triple3 OR ((((((triple4 triple2) -> rule1)) -> rule5) triple2) -> rule2))] Bob is quiet.[(triple4)] Bob is red.[(triple5 OR ((triple3) -> rule3) OR ((((((((triple4 triple2) -> rule1)) -> rule5) triple2) -> rule2)) -> rule3))] Erin is big.[(triple6 OR ((triple12) -> rule4) OR ((((triple9 triple7) -> rule1)) -> rule4))] Erin is blue.[(triple7)] Erin is cold.[(triple8 OR ((triple11 triple7) -> rule2) OR ((((triple12) -> rule5) triple7) -> rule2) OR ((((((triple9 triple7) -> rule1)) -> rule5) triple7) -> rule2))] Erin is quiet.[(triple9)] Erin is red.[(triple10 OR ((triple8) -> rule3) OR ((((triple11 triple7) -> rule2)) -> rule3) OR ((((((triple12) -> rule5) triple7) -> rule2)) -> rule3) OR ((((((((triple9 triple7) -> rule1)) -> rule5) triple7) -> rule2)) -> rule3))] Erin is rough.[(triple11 OR ((triple12) -> rule5) OR ((((triple9 triple7) -> rule1)) -> rule5))] Erin is young.[(triple12 OR ((triple9 triple7) -> rule1))] @1: Bob is young.[(((triple4 triple2) -> rule1))] @2: Bob is rough.[(((((triple4 triple2) -> rule1)) -> rule5))]
Bob is big.
("Bob" "is" "big" "+")
triple1
((triple5) -> (rule6 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((((triple3) -> (rule3 % int2))) -> (rule6 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
((((triple4 triple2) -> (rule1 % int2))) -> (rule4 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((((((((((triple4 triple2) -> (rule1 % int5))) -> (rule5 % int4)) triple2) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
int4
Bob is young.
("Bob" "is" "young" "+")
int5
Bob is blue.
("Bob" "is" "blue" "+")
triple2
Bob is cold.
("Bob" "is" "cold" "+")
triple3
((((((triple4 triple2) -> (rule1 % int3))) -> (rule5 % int2)) triple2) -> (rule2 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
triple4
Bob is red.
("Bob" "is" "red" "+")
triple5
((triple3) -> (rule3 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((((((((triple4 triple2) -> (rule1 % int4))) -> (rule5 % int3)) triple2) -> (rule2 % int2))) -> (rule3 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
int4
Erin is big.
("Erin" "is" "big" "+")
triple6
((triple12) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
((((triple9 triple7) -> (rule1 % int2))) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
triple7
Erin is cold.
("Erin" "is" "cold" "+")
triple8
((triple11 triple7) -> (rule2 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((((triple12) -> (rule5 % int2)) triple7) -> (rule2 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
((((((triple9 triple7) -> (rule1 % int3))) -> (rule5 % int2)) triple7) -> (rule2 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
Erin is quiet.
("Erin" "is" "quiet" "+")
triple9
Erin is red.
("Erin" "is" "red" "+")
triple10
((triple8) -> (rule3 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((((triple11 triple7) -> (rule2 % int2))) -> (rule3 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((((((triple12) -> (rule5 % int3)) triple7) -> (rule2 % int2))) -> (rule3 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
((((((((triple9 triple7) -> (rule1 % int4))) -> (rule5 % int3)) triple7) -> (rule2 % int2))) -> (rule3 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
Erin is young.
("Erin" "is" "young" "+")
int4
Erin is rough.
("Erin" "is" "rough" "+")
triple11
((triple12) -> (rule5 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
((((triple9 triple7) -> (rule1 % int2))) -> (rule5 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
triple12
((triple9 triple7) -> (rule1 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
((triple4 triple2) -> (rule1 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
((((triple4 triple2) -> (rule1 % int2))) -> (rule5 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2