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