Bob is green. Bob is kind. Bob is round. Bob is young. Dave is furry. Dave is green. Dave is kind. Erin is kind. Erin is young. Fiona is cold. Fiona is furry. Fiona is green. Fiona is kind. Fiona is quiet. Fiona is young. If Bob is kind and Bob is young then Bob is round. If something is green and quiet then it is furry. All kind, green things are quiet. If Fiona is cold then Fiona is green. If something is young then it is quiet. If Bob is quiet and Bob is kind then Bob is young. All quiet things are cold. If something is furry then it is quiet.
Bob is green.
("Bob" "is" "green" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is young.
("Bob" "is" "young" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is young.
("Erin" "is" "young" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is young.
("Fiona" "is" "young" "+")
If Bob is kind and Bob is young then Bob is round.
((("Bob" "is" "kind" "+") ("Bob" "is" "young" "+")) -> ("Bob" "is" "round" "+"))
If something is green and quiet then it is furry.
((("something" "is" "green" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "furry" "+"))
All kind, green things are quiet.
((("something" "is" "kind" "+") ("something" "is" "green" "+")) -> ("something" "is" "quiet" "+"))
If Fiona is cold then Fiona is green.
((("Fiona" "is" "cold" "+")) -> ("Fiona" "is" "green" "+"))
If something is young then it is quiet.
((("something" "is" "young" "+")) -> ("something" "is" "quiet" "+"))
If Bob is quiet and Bob is kind then Bob is young.
((("Bob" "is" "quiet" "+") ("Bob" "is" "kind" "+")) -> ("Bob" "is" "young" "+"))
All quiet things are cold.
((("something" "is" "quiet" "+")) -> ("something" "is" "cold" "+"))
If something is furry then it is quiet.
((("something" "is" "furry" "+")) -> ("something" "is" "quiet" "+"))
Bob is young.
True
1
proof
[(triple4 OR ((((triple2 triple1) -> rule3) triple2) -> rule6))]
("Bob" "is" "young" "+")
triple4
((((triple2 triple1) -> (rule3 % int2)) triple2) -> (rule6 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Dave is not furry.
False
1
inv-proof
[(triple5 OR ((triple6 ((triple7 triple6) -> rule3)) -> rule2))]
("Dave" "is" "furry" "-")
triple5
((triple6 ((triple7 triple6) -> (rule3 % int2))) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Bob is quiet.
True
2
proof
[(((triple4) -> rule5) OR ((triple2 triple1) -> rule3))]
("Bob" "is" "quiet" "+")
((triple4) -> (rule5 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
((triple2 triple1) -> (rule3 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Dave is not quiet.
False
2
inv-proof
[(((triple5) -> rule8) OR ((triple7 triple6) -> rule3))]
("Dave" "is" "quiet" "-")
((triple5) -> (rule8 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
((triple7 triple6) -> (rule3 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Erin is cold.
True
3
proof
[(((((triple9) -> rule5)) -> rule7))]
("Erin" "is" "cold" "+")
((((triple9) -> (rule5 % int2))) -> (rule7 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Bob is not cold.
False
3
inv-proof
[(((((triple4) -> rule5)) -> rule7) OR ((((triple2 triple1) -> rule3)) -> rule7))]
("Bob" "is" "cold" "-")
((((triple4) -> (rule5 % int2))) -> (rule7 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
((((triple2 triple1) -> (rule3 % int2))) -> (rule7 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Erin is not furry.
Unknown
inv-rconc
[@1: Erin is furry.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Erin" "is" "furry" "-")
Erin is round.
Unknown
random
[@0: Erin is round.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "round" "+")
Dave is not round.
Unknown
inv-random
[@0: Dave is round.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "round" "-")
Dave is young.
Unknown
random
[@0: Dave is young.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "young" "+")
Fiona is not round.
Unknown
inv-random
[@0: Fiona is round.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "round" "-")
Erin is green.
Unknown
random
[@0: Erin is green.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "green" "+")
@0: Bob is green.[(triple1)] Bob is kind.[(triple2)] Bob is round.[(triple3 OR ((triple2 triple4) -> rule1) OR ((triple2 ((((triple2 triple1) -> rule3) triple2) -> rule6)) -> rule1))] Bob is young.[(triple4 OR ((((triple2 triple1) -> rule3) triple2) -> rule6))] Dave is furry.[(triple5 OR ((triple6 ((triple7 triple6) -> rule3)) -> rule2))] Dave is green.[(triple6)] Dave is kind.[(triple7)] Erin is kind.[(triple8)] Erin is young.[(triple9)] Fiona is cold.[(triple10 OR ((triple14) -> rule7) OR ((((triple11) -> rule8)) -> rule7) OR ((((triple15) -> rule5)) -> rule7) OR ((((triple13 triple12) -> rule3)) -> rule7))] Fiona is furry.[(triple11 OR ((triple12 triple14) -> rule2) OR ((triple12 ((triple15) -> rule5)) -> rule2) OR ((triple12 ((triple13 triple12) -> rule3)) -> rule2) OR ((((triple10) -> rule4) triple14) -> rule2) OR ((((triple10) -> rule4) ((triple15) -> rule5)) -> rule2) OR ((((triple10) -> rule4) ((triple13 triple12) -> rule3)) -> rule2) OR ((triple12 ((triple13 ((triple10) -> rule4)) -> rule3)) -> rule2) OR ((((((triple14) -> rule7)) -> rule4) triple14) -> rule2) OR ((((triple10) -> rule4) ((triple13 ((triple10) -> rule4)) -> rule3)) -> rule2) OR ((((((triple14) -> rule7)) -> rule4) ((triple15) -> rule5)) -> rule2) OR ((((((triple14) -> rule7)) -> rule4) ((triple13 triple12) -> rule3)) -> rule2) OR ((((((triple14) -> rule7)) -> rule4) ((triple13 ((triple10) -> rule4)) -> rule3)) -> rule2) OR ((((((((triple15) -> rule5)) -> rule7)) -> rule4) triple14) -> rule2) OR ((((((((triple15) -> rule5)) -> rule7)) -> rule4) ((triple15) -> rule5)) -> rule2) OR ((((((((triple15) -> rule5)) -> rule7)) -> rule4) ((triple13 triple12) -> rule3)) -> rule2) OR ((((((((triple15) -> rule5)) -> rule7)) -> rule4) ((triple13 ((triple10) -> rule4)) -> rule3)) -> rule2))] Fiona is green.[(triple12 OR ((triple10) -> rule4) OR ((((triple14) -> rule7)) -> rule4) OR ((((((triple11) -> rule8)) -> rule7)) -> rule4) OR ((((((triple15) -> rule5)) -> rule7)) -> rule4))] Fiona is kind.[(triple13)] Fiona is quiet.[(triple14 OR ((triple11) -> rule8) OR ((triple15) -> rule5) OR ((triple13 triple12) -> rule3) OR ((triple13 ((triple10) -> rule4)) -> rule3))] Fiona is young.[(triple15)] @1: Bob is quiet.[(((triple4) -> rule5) OR ((triple2 triple1) -> rule3))] Dave is quiet.[(((triple5) -> rule8) OR ((triple7 triple6) -> rule3))] Erin is quiet.[(((triple9) -> rule5))] @2: Bob is cold.[(((((triple4) -> rule5)) -> rule7) OR ((((triple2 triple1) -> rule3)) -> rule7))] Bob is furry.[(((triple1 ((triple4) -> rule5)) -> rule2) OR ((triple1 ((triple2 triple1) -> rule3)) -> rule2))] Dave is cold.[(((((triple5) -> rule8)) -> rule7) OR ((((triple7 triple6) -> rule3)) -> rule7))] Erin is cold.[(((((triple9) -> rule5)) -> rule7))]
Bob is green.
("Bob" "is" "green" "+")
triple1
Bob is kind.
("Bob" "is" "kind" "+")
triple2
Bob is round.
("Bob" "is" "round" "+")
triple3
((triple2 triple4) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple2 ((((triple2 triple1) -> (rule3 % int3)) triple2) -> (rule6 % int2))) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
triple4
((((triple2 triple1) -> (rule3 % int2)) triple2) -> (rule6 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
triple5
((triple6 ((triple7 triple6) -> (rule3 % int2))) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
triple6
Dave is kind.
("Dave" "is" "kind" "+")
triple7
Erin is kind.
("Erin" "is" "kind" "+")
triple8
Erin is young.
("Erin" "is" "young" "+")
triple9
Fiona is cold.
("Fiona" "is" "cold" "+")
triple10
((triple14) -> (rule7 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
((((triple11) -> (rule8 % int2))) -> (rule7 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((((triple15) -> (rule5 % int2))) -> (rule7 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((((triple13 triple12) -> (rule3 % int2))) -> (rule7 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
triple11
((triple12 triple14) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple12 ((triple15) -> (rule5 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((triple12 ((triple13 triple12) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((((triple10) -> (rule4 % int2)) triple14) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
((((triple10) -> (rule4 % int3)) ((triple15) -> (rule5 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
((((triple10) -> (rule4 % int3)) ((triple13 triple12) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
((triple12 ((triple13 ((triple10) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
((((((triple14) -> (rule7 % int3))) -> (rule4 % int2)) triple14) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
((((triple10) -> (rule4 % int3)) ((triple13 ((triple10) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
((((((triple14) -> (rule7 % int4))) -> (rule4 % int3)) ((triple15) -> (rule5 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
int4
((((((triple14) -> (rule7 % int4))) -> (rule4 % int3)) ((triple13 triple12) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
int4
((((((triple14) -> (rule7 % int4))) -> (rule4 % int3)) ((triple13 ((triple10) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
int4
((((((((triple15) -> (rule5 % int4))) -> (rule7 % int3))) -> (rule4 % int2)) triple14) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int4
((((((((triple15) -> (rule5 % int4))) -> (rule7 % int3))) -> (rule4 % int2)) ((triple15) -> (rule5 % int4))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int4
((((((((triple15) -> (rule5 % int4))) -> (rule7 % int3))) -> (rule4 % int2)) ((triple13 triple12) -> (rule3 % int4))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int4
((((((((triple15) -> (rule5 % int4))) -> (rule7 % int3))) -> (rule4 % int2)) ((triple13 ((triple10) -> (rule4 % int2))) -> (rule3 % int4))) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int4
Fiona is green.
("Fiona" "is" "green" "+")
triple12
((triple10) -> (rule4 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
((((triple14) -> (rule7 % int2))) -> (rule4 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
((((((triple11) -> (rule8 % int3))) -> (rule7 % int2))) -> (rule4 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
((((((triple15) -> (rule5 % int3))) -> (rule7 % int2))) -> (rule4 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is kind.
("Fiona" "is" "kind" "+")
triple13
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple14
((triple11) -> (rule8 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
((triple15) -> (rule5 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
((triple13 triple12) -> (rule3 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
((triple13 ((triple10) -> (rule4 % int2))) -> (rule3 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
triple15
Bob is quiet.
("Bob" "is" "quiet" "+")
((triple4) -> (rule5 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
((triple2 triple1) -> (rule3 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
((triple5) -> (rule8 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
((triple7 triple6) -> (rule3 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
((triple9) -> (rule5 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
((((triple4) -> (rule5 % int2))) -> (rule7 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
((((triple2 triple1) -> (rule3 % int2))) -> (rule7 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
((triple1 ((triple4) -> (rule5 % int2))) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
((triple1 ((triple2 triple1) -> (rule3 % int2))) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
((((triple5) -> (rule8 % int2))) -> (rule7 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
((((triple7 triple6) -> (rule3 % int2))) -> (rule7 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
((((triple9) -> (rule5 % int2))) -> (rule7 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2