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