Bob is cold. Bob is kind. Bob is round. Bob is young. Dave is cold. Dave is kind. Dave is red. Dave is rough. Dave is round. Erin is cold. Erin is kind. Erin is red. Erin is rough. Gary is cold. Gary is kind. Gary is round. Round people are red. Kind people are young. Rough, round people are young. If Bob is rough and Bob is kind then Bob is smart. If someone is young then they are smart. Red people are rough.
Bob is cold.
("Bob" "is" "cold" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is young.
("Bob" "is" "young" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is round.
("Dave" "is" "round" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is round.
("Gary" "is" "round" "+")
Round people are red.
((("someone" "is" "round" "+")) -> ("someone" "is" "red" "+"))
Kind people are young.
((("someone" "is" "kind" "+")) -> ("someone" "is" "young" "+"))
Rough, round people are young.
((("someone" "is" "rough" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "young" "+"))
If Bob is rough and Bob is kind then Bob is smart.
((("Bob" "is" "rough" "+") ("Bob" "is" "kind" "+")) -> ("Bob" "is" "smart" "+"))
If someone is young then they are smart.
((("someone" "is" "young" "+")) -> ("someone" "is" "smart" "+"))
Red people are rough.
((("someone" "is" "red" "+")) -> ("someone" "is" "rough" "+"))
Erin is red.
True
1
proof
[(triple12)]
("Erin" "is" "red" "+")
triple12
Erin is not kind.
False
1
inv-proof
[(triple11)]
("Erin" "is" "kind" "-")
triple11
Gary is young.
True
2
proof
[(((triple15) -> rule2) OR ((((((triple16) -> rule1)) -> rule6) triple16) -> rule3))]
("Gary" "is" "young" "+")
((triple15) -> (rule2 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
((((((triple16) -> (rule1 % int3))) -> (rule6 % int2)) triple16) -> (rule3 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Bob is not smart.
False
2
inv-proof
[(((triple4) -> rule5) OR ((((triple2) -> rule2)) -> rule5) OR ((((((triple3) -> rule1)) -> rule6) triple2) -> rule4) OR ((((((((triple3) -> rule1)) -> rule6) triple3) -> rule3)) -> rule5))]
("Bob" "is" "smart" "-")
((triple4) -> (rule5 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
((((triple2) -> (rule2 % int2))) -> (rule5 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((((((triple3) -> (rule1 % int3))) -> (rule6 % int2)) triple2) -> (rule4 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
((((((((triple3) -> (rule1 % int4))) -> (rule6 % int3)) triple3) -> (rule3 % int2))) -> (rule5 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
int4
Dave is smart.
True
3
proof
[(((((triple6) -> rule2)) -> rule5) OR ((((triple8 triple9) -> rule3)) -> rule5) OR ((((((triple7) -> rule6) triple9) -> rule3)) -> rule5) OR ((((((((triple9) -> rule1)) -> rule6) triple9) -> rule3)) -> rule5))]
("Dave" "is" "smart" "+")
((((triple6) -> (rule2 % int2))) -> (rule5 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
((((triple8 triple9) -> (rule3 % int2))) -> (rule5 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
((((((triple7) -> (rule6 % int3)) triple9) -> (rule3 % int2))) -> (rule5 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
((((((((triple9) -> (rule1 % int4))) -> (rule6 % int3)) triple9) -> (rule3 % int2))) -> (rule5 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is red.
("Dave" "is" "red" "+")
int4
Gary is not smart.
False
3
inv-proof
[(((((triple15) -> rule2)) -> rule5) OR ((((((((triple16) -> rule1)) -> rule6) triple16) -> rule3)) -> rule5))]
("Gary" "is" "smart" "-")
((((triple15) -> (rule2 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
((((((((triple16) -> (rule1 % int4))) -> (rule6 % int3)) triple16) -> (rule3 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is red.
("Gary" "is" "red" "+")
int4
@0: Bob is cold.[(triple1)] Bob is kind.[(triple2)] Bob is round.[(triple3)] Bob is young.[(triple4 OR ((triple2) -> rule2) OR ((((((triple3) -> rule1)) -> rule6) triple3) -> rule3))] Dave is cold.[(triple5)] Dave is kind.[(triple6)] Dave is red.[(triple7 OR ((triple9) -> rule1))] Dave is rough.[(triple8 OR ((triple7) -> rule6) OR ((((triple9) -> rule1)) -> rule6))] Dave is round.[(triple9)] Erin is cold.[(triple10)] Erin is kind.[(triple11)] Erin is red.[(triple12)] Erin is rough.[(triple13 OR ((triple12) -> rule6))] Gary is cold.[(triple14)] Gary is kind.[(triple15)] Gary is round.[(triple16)] @1: Bob is red.[(((triple3) -> rule1))] Bob is smart.[(((triple4) -> rule5) OR ((((triple2) -> rule2)) -> rule5) OR ((((((triple3) -> rule1)) -> rule6) triple2) -> rule4) OR ((((((((triple3) -> rule1)) -> rule6) triple3) -> rule3)) -> rule5))] Dave is young.[(((triple6) -> rule2) OR ((triple8 triple9) -> rule3) OR ((((triple7) -> rule6) triple9) -> rule3) OR ((((((triple9) -> rule1)) -> rule6) triple9) -> rule3))] Erin is young.[(((triple11) -> rule2))] Gary is red.[(((triple16) -> rule1))] Gary is young.[(((triple15) -> rule2) OR ((((((triple16) -> rule1)) -> rule6) triple16) -> rule3))] @2: Bob is rough.[(((((triple3) -> rule1)) -> rule6))] Dave is smart.[(((((triple6) -> rule2)) -> rule5) OR ((((triple8 triple9) -> rule3)) -> rule5) OR ((((((triple7) -> rule6) triple9) -> rule3)) -> rule5) OR ((((((((triple9) -> rule1)) -> rule6) triple9) -> rule3)) -> rule5))] Erin is smart.[(((((triple11) -> rule2)) -> rule5))] Gary is rough.[(((((triple16) -> rule1)) -> rule6))] Gary is smart.[(((((triple15) -> rule2)) -> rule5) OR ((((((((triple16) -> rule1)) -> rule6) triple16) -> rule3)) -> rule5))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
Bob is kind.
("Bob" "is" "kind" "+")
triple2
Bob is round.
("Bob" "is" "round" "+")
triple3
Bob is young.
("Bob" "is" "young" "+")
triple4
((triple2) -> (rule2 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
((((((triple3) -> (rule1 % int3))) -> (rule6 % int2)) triple3) -> (rule3 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
triple5
Dave is kind.
("Dave" "is" "kind" "+")
triple6
Dave is red.
("Dave" "is" "red" "+")
triple7
((triple9) -> (rule1 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
triple8
((triple7) -> (rule6 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
((((triple9) -> (rule1 % int2))) -> (rule6 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
triple9
Erin is cold.
("Erin" "is" "cold" "+")
triple10
Erin is kind.
("Erin" "is" "kind" "+")
triple11
Erin is red.
("Erin" "is" "red" "+")
triple12
Erin is rough.
("Erin" "is" "rough" "+")
triple13
((triple12) -> (rule6 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
triple14
Gary is kind.
("Gary" "is" "kind" "+")
triple15
Gary is round.
("Gary" "is" "round" "+")
triple16
Bob is red.
("Bob" "is" "red" "+")
((triple3) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
((triple4) -> (rule5 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
((((triple2) -> (rule2 % int2))) -> (rule5 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((((((triple3) -> (rule1 % int3))) -> (rule6 % int2)) triple2) -> (rule4 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
((((((((triple3) -> (rule1 % int4))) -> (rule6 % int3)) triple3) -> (rule3 % int2))) -> (rule5 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
int4
Dave is young.
("Dave" "is" "young" "+")
((triple6) -> (rule2 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
((triple8 triple9) -> (rule3 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
((((triple7) -> (rule6 % int2)) triple9) -> (rule3 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
((((((triple9) -> (rule1 % int3))) -> (rule6 % int2)) triple9) -> (rule3 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Erin is young.
("Erin" "is" "young" "+")
((triple11) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
((triple16) -> (rule1 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
((triple15) -> (rule2 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
((((((triple16) -> (rule1 % int3))) -> (rule6 % int2)) triple16) -> (rule3 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
((((triple3) -> (rule1 % int2))) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
((((triple6) -> (rule2 % int2))) -> (rule5 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
((((triple8 triple9) -> (rule3 % int2))) -> (rule5 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
((((((triple7) -> (rule6 % int3)) triple9) -> (rule3 % int2))) -> (rule5 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
((((((((triple9) -> (rule1 % int4))) -> (rule6 % int3)) triple9) -> (rule3 % int2))) -> (rule5 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is red.
("Dave" "is" "red" "+")
int4
Erin is smart.
("Erin" "is" "smart" "+")
((((triple11) -> (rule2 % int2))) -> (rule5 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
((((triple16) -> (rule1 % int2))) -> (rule6 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
((((triple15) -> (rule2 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
((((((((triple16) -> (rule1 % int4))) -> (rule6 % int3)) triple16) -> (rule3 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is red.
("Gary" "is" "red" "+")
int4