Dave is green. Dave is rough. Dave is smart. Dave is young. Fiona is big. Fiona is blue. Fiona is green. Fiona is rough. Fiona is smart. Fiona is young. Smart, round people are blue. If someone is blue then they are round. All green, rough people are big. If Dave is big then Dave is round. Blue, smart people are big. Big, blue people are rough. If someone is round then they are green. If someone is big and young then they are green.
Dave is green.
("Dave" "is" "green" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Dave is young.
("Dave" "is" "young" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Smart, round people are blue.
((("someone" "is" "smart" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "blue" "+"))
If someone is blue then they are round.
((("someone" "is" "blue" "+")) -> ("someone" "is" "round" "+"))
All green, rough people are big.
((("someone" "is" "green" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "big" "+"))
If Dave is big then Dave is round.
((("Dave" "is" "big" "+")) -> ("Dave" "is" "round" "+"))
Blue, smart people are big.
((("someone" "is" "blue" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "big" "+"))
Big, blue people are rough.
((("someone" "is" "big" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "rough" "+"))
If someone is round then they are green.
((("someone" "is" "round" "+")) -> ("someone" "is" "green" "+"))
If someone is big and young then they are green.
((("someone" "is" "big" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "green" "+"))
Fiona is big.
True
1
proof
[(triple5 OR ((triple6 triple9) -> rule5) OR ((triple7 triple8) -> rule3) OR ((((((triple6) -> rule2)) -> rule7) triple8) -> rule3))]
("Fiona" "is" "big" "+")
triple5
((triple6 triple9) -> (rule5 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
((triple7 triple8) -> (rule3 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
((((((triple6) -> (rule2 % int3))) -> (rule7 % int2)) triple8) -> (rule3 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Fiona is not big.
False
1
inv-proof
[(triple5 OR ((triple6 triple9) -> rule5) OR ((triple7 triple8) -> rule3) OR ((((((triple6) -> rule2)) -> rule7) triple8) -> rule3))]
("Fiona" "is" "big" "-")
triple5
((triple6 triple9) -> (rule5 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
((triple7 triple8) -> (rule3 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
((((((triple6) -> (rule2 % int3))) -> (rule7 % int2)) triple8) -> (rule3 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Dave is big.
True
3
proof
[(((triple1 triple2) -> rule3))]
("Dave" "is" "big" "+")
((triple1 triple2) -> (rule3 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Fiona is not round.
False
2
inv-proof
[(((triple6) -> rule2))]
("Fiona" "is" "round" "-")
((triple6) -> (rule2 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Dave is round.
True
4
proof
[(((((triple1 triple2) -> rule3)) -> rule4))]
("Dave" "is" "round" "+")
((((triple1 triple2) -> (rule3 % int2))) -> (rule4 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is not round.
False
4
inv-proof
[(((((triple1 triple2) -> rule3)) -> rule4))]
("Dave" "is" "round" "-")
((((triple1 triple2) -> (rule3 % int2))) -> (rule4 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is blue.
True
6
proof
[(((triple3 ((((triple1 triple2) -> rule3)) -> rule4)) -> rule1))]
("Dave" "is" "blue" "+")
((triple3 ((((triple1 triple2) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is not blue.
False
6
inv-proof
[(((triple3 ((((triple1 triple2) -> rule3)) -> rule4)) -> rule1))]
("Dave" "is" "blue" "-")
((triple3 ((((triple1 triple2) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
@0: Dave is green.[(triple1)] Dave is rough.[(triple2)] Dave is smart.[(triple3)] Dave is young.[(triple4)] Fiona is big.[(triple5 OR ((triple6 triple9) -> rule5) OR ((triple7 triple8) -> rule3) OR ((((((triple6) -> rule2)) -> rule7) triple8) -> rule3))] Fiona is blue.[(triple6)] Fiona is green.[(triple7 OR ((triple5 triple10) -> rule8) OR ((((triple6) -> rule2)) -> rule7) OR ((((triple6 triple9) -> rule5) triple10) -> rule8))] Fiona is rough.[(triple8 OR ((triple5 triple6) -> rule6) OR ((((triple6 triple9) -> rule5) triple6) -> rule6))] Fiona is smart.[(triple9)] Fiona is young.[(triple10)] @1: Dave is big.[(((triple1 triple2) -> rule3))] Fiona is round.[(((triple6) -> rule2))] @2: Dave is round.[(((((triple1 triple2) -> rule3)) -> rule4))] @3: Dave is blue.[(((triple3 ((((triple1 triple2) -> rule3)) -> rule4)) -> rule1))]
Dave is green.
("Dave" "is" "green" "+")
triple1
Dave is rough.
("Dave" "is" "rough" "+")
triple2
Dave is smart.
("Dave" "is" "smart" "+")
triple3
Dave is young.
("Dave" "is" "young" "+")
triple4
Fiona is big.
("Fiona" "is" "big" "+")
triple5
((triple6 triple9) -> (rule5 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
((triple7 triple8) -> (rule3 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
((((((triple6) -> (rule2 % int3))) -> (rule7 % int2)) triple8) -> (rule3 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
triple6
Fiona is green.
("Fiona" "is" "green" "+")
triple7
((triple5 triple10) -> (rule8 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
((((triple6) -> (rule2 % int2))) -> (rule7 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
((((triple6 triple9) -> (rule5 % int2)) triple10) -> (rule8 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
triple8
((triple5 triple6) -> (rule6 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
((((triple6 triple9) -> (rule5 % int2)) triple6) -> (rule6 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
triple9
Fiona is young.
("Fiona" "is" "young" "+")
triple10
Dave is big.
("Dave" "is" "big" "+")
((triple1 triple2) -> (rule3 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
((triple6) -> (rule2 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
((((triple1 triple2) -> (rule3 % int2))) -> (rule4 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
((triple3 ((((triple1 triple2) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3