Bob is blue. Bob is furry. Bob is green. Bob is rough. Bob is white. Dave is blue. Dave is furry. Dave is green. Dave is quiet. Dave is rough. Dave is round. Dave is white. Fiona is green. Fiona is rough. Fiona is round. Fiona is white. If Fiona is white then Fiona is quiet. If something is blue then it is furry. All round, quiet things are green. Quiet things are blue. All quiet, white things are blue. If something is furry and white then it is round.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is white.
("Bob" "is" "white" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is round.
("Dave" "is" "round" "+")
Dave is white.
("Dave" "is" "white" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is white.
("Fiona" "is" "white" "+")
If Fiona is white then Fiona is quiet.
((("Fiona" "is" "white" "+")) -> ("Fiona" "is" "quiet" "+"))
If something is blue then it is furry.
((("something" "is" "blue" "+")) -> ("something" "is" "furry" "+"))
All round, quiet things are green.
((("something" "is" "round" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "green" "+"))
Quiet things are blue.
((("something" "is" "quiet" "+")) -> ("something" "is" "blue" "+"))
All quiet, white things are blue.
((("something" "is" "quiet" "+") ("something" "is" "white" "+")) -> ("something" "is" "blue" "+"))
If something is furry and white then it is round.
((("something" "is" "furry" "+") ("something" "is" "white" "+")) -> ("something" "is" "round" "+"))
Bob is rough.
True
1
proof
[(triple4)]
("Bob" "is" "rough" "+")
triple4
Dave is not rough.
False
1
inv-proof
[(triple10)]
("Dave" "is" "rough" "-")
triple10
Fiona is quiet.
True
2
proof
[(((triple16) -> rule1))]
("Fiona" "is" "quiet" "+")
((triple16) -> (rule1 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is not quiet.
False
2
inv-proof
[(((triple16) -> rule1))]
("Fiona" "is" "quiet" "-")
((triple16) -> (rule1 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is blue.
True
3
proof
[(((((triple16) -> rule1)) -> rule4) OR ((((triple16) -> rule1) triple16) -> rule5))]
("Fiona" "is" "blue" "+")
((((triple16) -> (rule1 % int2))) -> (rule4 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((((triple16) -> (rule1 % int2)) triple16) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is not blue.
False
3
inv-proof
[(((((triple16) -> rule1)) -> rule4) OR ((((triple16) -> rule1) triple16) -> rule5))]
("Fiona" "is" "blue" "-")
((((triple16) -> (rule1 % int2))) -> (rule4 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((((triple16) -> (rule1 % int2)) triple16) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
@0: Bob is blue.[(triple1)] Bob is furry.[(triple2 OR ((triple1) -> rule2))] Bob is green.[(triple3)] Bob is rough.[(triple4)] Bob is white.[(triple5)] Dave is blue.[(triple6 OR ((triple9) -> rule4) OR ((triple9 triple12) -> rule5))] Dave is furry.[(triple7 OR ((triple6) -> rule2) OR ((((triple9) -> rule4)) -> rule2) OR ((((triple9 triple12) -> rule5)) -> rule2))] Dave is green.[(triple8 OR ((triple11 triple9) -> rule3) OR ((((triple7 triple12) -> rule6) triple9) -> rule3) OR ((((((triple6) -> rule2) triple12) -> rule6) triple9) -> rule3) OR ((((((((triple9) -> rule4)) -> rule2) triple12) -> rule6) triple9) -> rule3) OR ((((((((triple9 triple12) -> rule5)) -> rule2) triple12) -> rule6) triple9) -> rule3))] Dave is quiet.[(triple9)] Dave is rough.[(triple10)] Dave is round.[(triple11 OR ((triple7 triple12) -> rule6) OR ((((triple6) -> rule2) triple12) -> rule6) OR ((((((triple9) -> rule4)) -> rule2) triple12) -> rule6) OR ((((((triple9 triple12) -> rule5)) -> rule2) triple12) -> rule6))] Dave is white.[(triple12)] Fiona is green.[(triple13 OR ((triple15 ((triple16) -> rule1)) -> rule3) OR ((((((((((triple16) -> rule1)) -> rule4)) -> rule2) triple16) -> rule6) ((triple16) -> rule1)) -> rule3) OR ((((((((((triple16) -> rule1) triple16) -> rule5)) -> rule2) triple16) -> rule6) ((triple16) -> rule1)) -> rule3))] Fiona is rough.[(triple14)] Fiona is round.[(triple15 OR ((((((((triple16) -> rule1)) -> rule4)) -> rule2) triple16) -> rule6) OR ((((((((triple16) -> rule1) triple16) -> rule5)) -> rule2) triple16) -> rule6))] Fiona is white.[(triple16)] @1: Bob is round.[(((triple2 triple5) -> rule6) OR ((((triple1) -> rule2) triple5) -> rule6))] Fiona is quiet.[(((triple16) -> rule1))] @2: Fiona is blue.[(((((triple16) -> rule1)) -> rule4) OR ((((triple16) -> rule1) triple16) -> rule5))] @3: Fiona is furry.[(((((((triple16) -> rule1)) -> rule4)) -> rule2) OR ((((((triple16) -> rule1) triple16) -> rule5)) -> rule2))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Bob is furry.
("Bob" "is" "furry" "+")
triple2
((triple1) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
triple3
Bob is rough.
("Bob" "is" "rough" "+")
triple4
Bob is white.
("Bob" "is" "white" "+")
triple5
Dave is blue.
("Dave" "is" "blue" "+")
triple6
((triple9) -> (rule4 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((triple9 triple12) -> (rule5 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
triple7
((triple6) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((((triple9) -> (rule4 % int2))) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((triple9 triple12) -> (rule5 % int2))) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
triple8
((triple11 triple9) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
((((triple7 triple12) -> (rule6 % int2)) triple9) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
((((((triple6) -> (rule2 % int3)) triple12) -> (rule6 % int2)) triple9) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
((((((((triple9) -> (rule4 % int4))) -> (rule2 % int3)) triple12) -> (rule6 % int2)) triple9) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is blue.
("Dave" "is" "blue" "+")
int4
((((((((triple9 triple12) -> (rule5 % int4))) -> (rule2 % int3)) triple12) -> (rule6 % int2)) triple9) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is blue.
("Dave" "is" "blue" "+")
int4
Dave is quiet.
("Dave" "is" "quiet" "+")
triple9
Dave is rough.
("Dave" "is" "rough" "+")
triple10
Dave is round.
("Dave" "is" "round" "+")
triple11
((triple7 triple12) -> (rule6 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
((((triple6) -> (rule2 % int2)) triple12) -> (rule6 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
((((((triple9) -> (rule4 % int3))) -> (rule2 % int2)) triple12) -> (rule6 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
((((((triple9 triple12) -> (rule5 % int3))) -> (rule2 % int2)) triple12) -> (rule6 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
Dave is white.
("Dave" "is" "white" "+")
triple12
Fiona is green.
("Fiona" "is" "green" "+")
triple13
((triple15 ((triple16) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((((((((((triple16) -> (rule1 % int5))) -> (rule4 % int4))) -> (rule2 % int3)) triple16) -> (rule6 % int2)) ((triple16) -> (rule1 % int5))) -> (rule3 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int5
((((((((((triple16) -> (rule1 % int5)) triple16) -> (rule5 % int4))) -> (rule2 % int3)) triple16) -> (rule6 % int2)) ((triple16) -> (rule1 % int5))) -> (rule3 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int5
Fiona is rough.
("Fiona" "is" "rough" "+")
triple14
Fiona is round.
("Fiona" "is" "round" "+")
triple15
((((((((triple16) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule2 % int2)) triple16) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int4
((((((((triple16) -> (rule1 % int4)) triple16) -> (rule5 % int3))) -> (rule2 % int2)) triple16) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int4
Fiona is white.
("Fiona" "is" "white" "+")
triple16
Bob is round.
("Bob" "is" "round" "+")
((triple2 triple5) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((((triple1) -> (rule2 % int2)) triple5) -> (rule6 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((triple16) -> (rule1 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
((((triple16) -> (rule1 % int2))) -> (rule4 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((((triple16) -> (rule1 % int2)) triple16) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
((((((triple16) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
((((((triple16) -> (rule1 % int3)) triple16) -> (rule5 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3