Bob is furry. Bob is green. Bob is nice. Bob is rough. Bob is smart. Bob is young. Erin is furry. Erin is green. Erin is rough. Erin is smart. Young, big things are nice. All nice things are young. If something is young and green then it is smart. All green, young things are smart. If something is big and smart then it is rough. Furry things are big. Big, smart things are nice. All rough, young things are big.
Bob is furry.
("Bob" "is" "furry" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is young.
("Bob" "is" "young" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Young, big things are nice.
((("something" "is" "young" "+") ("something" "is" "big" "+")) -> ("something" "is" "nice" "+"))
All nice things are young.
((("something" "is" "nice" "+")) -> ("something" "is" "young" "+"))
If something is young and green then it is smart.
((("something" "is" "young" "+") ("something" "is" "green" "+")) -> ("something" "is" "smart" "+"))
All green, young things are smart.
((("something" "is" "green" "+") ("something" "is" "young" "+")) -> ("something" "is" "smart" "+"))
If something is big and smart then it is rough.
((("something" "is" "big" "+") ("something" "is" "smart" "+")) -> ("something" "is" "rough" "+"))
Furry things are big.
((("something" "is" "furry" "+")) -> ("something" "is" "big" "+"))
Big, smart things are nice.
((("something" "is" "big" "+") ("something" "is" "smart" "+")) -> ("something" "is" "nice" "+"))
All rough, young things are big.
((("something" "is" "rough" "+") ("something" "is" "young" "+")) -> ("something" "is" "big" "+"))
Bob is young.
True
1
proof
[(triple6 OR ((triple3) -> rule2) OR ((((((triple1) -> rule6) triple5) -> rule7)) -> rule2))]
("Bob" "is" "young" "+")
triple6
((triple3) -> (rule2 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
((((((triple1) -> (rule6 % int3)) triple5) -> (rule7 % int2))) -> (rule2 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Erin is not furry.
False
1
inv-proof
[(triple7)]
("Erin" "is" "furry" "-")
triple7
Bob is big.
True
2
proof
[(((triple1) -> rule6) OR ((triple4 triple6) -> rule8) OR ((triple4 ((triple3) -> rule2)) -> rule8))]
("Bob" "is" "big" "+")
((triple1) -> (rule6 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((triple4 triple6) -> (rule8 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((triple4 ((triple3) -> (rule2 % int2))) -> (rule8 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is not big.
False
2
inv-proof
[(((triple1) -> rule6) OR ((triple4 triple6) -> rule8) OR ((triple4 ((triple3) -> rule2)) -> rule8))]
("Bob" "is" "big" "-")
((triple1) -> (rule6 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((triple4 triple6) -> (rule8 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((triple4 ((triple3) -> (rule2 % int2))) -> (rule8 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Erin is nice.
True
4
proof
[(((((triple7) -> rule6) triple10) -> rule7))]
("Erin" "is" "nice" "+")
((((triple7) -> (rule6 % int2)) triple10) -> (rule7 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is not nice.
False
4
inv-proof
[(((((triple7) -> rule6) triple10) -> rule7))]
("Erin" "is" "nice" "-")
((((triple7) -> (rule6 % int2)) triple10) -> (rule7 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is young.
True
5
proof
[(((((((triple7) -> rule6) triple10) -> rule7)) -> rule2))]
("Erin" "is" "young" "+")
((((((triple7) -> (rule6 % int3)) triple10) -> (rule7 % int2))) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is not young.
False
5
inv-proof
[(((((((triple7) -> rule6) triple10) -> rule7)) -> rule2))]
("Erin" "is" "young" "-")
((((((triple7) -> (rule6 % int3)) triple10) -> (rule7 % int2))) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
@0: Bob is furry.[(triple1)] Bob is green.[(triple2)] Bob is nice.[(triple3 OR ((triple6 ((triple1) -> rule6)) -> rule1) OR ((triple6 ((triple4 triple6) -> rule8)) -> rule1) OR ((((triple1) -> rule6) triple5) -> rule7) OR ((((triple4 triple6) -> rule8) triple5) -> rule7) OR ((((triple1) -> rule6) ((triple2 triple6) -> rule4)) -> rule7) OR ((((triple1) -> rule6) ((triple6 triple2) -> rule3)) -> rule7) OR ((((triple4 triple6) -> rule8) ((triple2 triple6) -> rule4)) -> rule7) OR ((((triple4 triple6) -> rule8) ((triple6 triple2) -> rule3)) -> rule7))] Bob is rough.[(triple4 OR ((((triple1) -> rule6) triple5) -> rule5) OR ((((triple1) -> rule6) ((triple2 triple6) -> rule4)) -> rule5) OR ((((triple1) -> rule6) ((triple6 triple2) -> rule3)) -> rule5) OR ((((triple1) -> rule6) ((triple2 ((triple3) -> rule2)) -> rule4)) -> rule5) OR ((((triple1) -> rule6) ((((triple3) -> rule2) triple2) -> rule3)) -> rule5))] Bob is smart.[(triple5 OR ((triple2 triple6) -> rule4) OR ((triple6 triple2) -> rule3) OR ((triple2 ((triple3) -> rule2)) -> rule4) OR ((((triple3) -> rule2) triple2) -> rule3))] Bob is young.[(triple6 OR ((triple3) -> rule2) OR ((((((triple1) -> rule6) triple5) -> rule7)) -> rule2))] Erin is furry.[(triple7)] Erin is green.[(triple8)] Erin is rough.[(triple9 OR ((((triple7) -> rule6) triple10) -> rule5))] Erin is smart.[(triple10)] @1: Bob is big.[(((triple1) -> rule6) OR ((triple4 triple6) -> rule8) OR ((triple4 ((triple3) -> rule2)) -> rule8))] Erin is big.[(((triple7) -> rule6))] @2: Erin is nice.[(((((triple7) -> rule6) triple10) -> rule7))] @3: Erin is young.[(((((((triple7) -> rule6) triple10) -> rule7)) -> rule2))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
Bob is green.
("Bob" "is" "green" "+")
triple2
Bob is nice.
("Bob" "is" "nice" "+")
triple3
((triple6 ((triple1) -> (rule6 % int2))) -> (rule1 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
((triple6 ((triple4 triple6) -> (rule8 % int2))) -> (rule1 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
((((triple1) -> (rule6 % int2)) triple5) -> (rule7 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
((((triple4 triple6) -> (rule8 % int2)) triple5) -> (rule7 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
((((triple1) -> (rule6 % int3)) ((triple2 triple6) -> (rule4 % int2))) -> (rule7 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
((((triple1) -> (rule6 % int3)) ((triple6 triple2) -> (rule3 % int2))) -> (rule7 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
((((triple4 triple6) -> (rule8 % int3)) ((triple2 triple6) -> (rule4 % int2))) -> (rule7 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
((((triple4 triple6) -> (rule8 % int3)) ((triple6 triple2) -> (rule3 % int2))) -> (rule7 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
triple4
((((triple1) -> (rule6 % int2)) triple5) -> (rule5 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
((((triple1) -> (rule6 % int3)) ((triple2 triple6) -> (rule4 % int2))) -> (rule5 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
((((triple1) -> (rule6 % int3)) ((triple6 triple2) -> (rule3 % int2))) -> (rule5 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
((((triple1) -> (rule6 % int4)) ((triple2 ((triple3) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Bob is big.
("Bob" "is" "big" "+")
int4
((((triple1) -> (rule6 % int4)) ((((triple3) -> (rule2 % int3)) triple2) -> (rule3 % int2))) -> (rule5 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Bob is big.
("Bob" "is" "big" "+")
int4
Bob is smart.
("Bob" "is" "smart" "+")
triple5
((triple2 triple6) -> (rule4 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
((triple6 triple2) -> (rule3 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
((triple2 ((triple3) -> (rule2 % int2))) -> (rule4 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((((triple3) -> (rule2 % int2)) triple2) -> (rule3 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
triple6
((triple3) -> (rule2 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
((((((triple1) -> (rule6 % int3)) triple5) -> (rule7 % int2))) -> (rule2 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
triple7
Erin is green.
("Erin" "is" "green" "+")
triple8
Erin is rough.
("Erin" "is" "rough" "+")
triple9
((((triple7) -> (rule6 % int2)) triple10) -> (rule5 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
triple10
Bob is big.
("Bob" "is" "big" "+")
((triple1) -> (rule6 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((triple4 triple6) -> (rule8 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((triple4 ((triple3) -> (rule2 % int2))) -> (rule8 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
((triple7) -> (rule6 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
((((triple7) -> (rule6 % int2)) triple10) -> (rule7 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
((((((triple7) -> (rule6 % int3)) triple10) -> (rule7 % int2))) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3