Charlie is kind. Dave is kind. Fiona is blue. Kind people are blue. Red people are blue. All quiet people are young. Blue people are green. All kind people are quiet. If someone is young then they are red.
Charlie is kind.
("Charlie" "is" "kind" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Kind people are blue.
((("someone" "is" "kind" "+")) -> ("someone" "is" "blue" "+"))
Red people are blue.
((("someone" "is" "red" "+")) -> ("someone" "is" "blue" "+"))
All quiet people are young.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "young" "+"))
Blue people are green.
((("someone" "is" "blue" "+")) -> ("someone" "is" "green" "+"))
All kind people are quiet.
((("someone" "is" "kind" "+")) -> ("someone" "is" "quiet" "+"))
If someone is young then they are red.
((("someone" "is" "young" "+")) -> ("someone" "is" "red" "+"))
Dave is kind.
True
1
proof
[(triple2)]
("Dave" "is" "kind" "+")
triple2
Fiona is not blue.
False
1
inv-proof
[(triple3)]
("Fiona" "is" "blue" "-")
triple3
Dave is blue.
True
2
proof
[(((triple2) -> rule1) OR ((((((((triple2) -> rule5)) -> rule3)) -> rule6)) -> rule2))]
("Dave" "is" "blue" "+")
((triple2) -> (rule1 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((((((((triple2) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
Dave is quiet.
("Dave" "is" "quiet" "+")
int4
Dave is not quiet.
False
2
inv-proof
[(((triple2) -> rule5))]
("Dave" "is" "quiet" "-")
((triple2) -> (rule5 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Charlie is young.
True
3
proof
[(((((triple1) -> rule5)) -> rule3))]
("Charlie" "is" "young" "+")
((((triple1) -> (rule5 % int2))) -> (rule3 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is not young.
False
3
inv-proof
[(((((triple1) -> rule5)) -> rule3))]
("Charlie" "is" "young" "-")
((((triple1) -> (rule5 % int2))) -> (rule3 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is red.
True
4
proof
[(((((((triple1) -> rule5)) -> rule3)) -> rule6))]
("Charlie" "is" "red" "+")
((((((triple1) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Dave is not red.
False
4
inv-proof
[(((((((triple2) -> rule5)) -> rule3)) -> rule6))]
("Dave" "is" "red" "-")
((((((triple2) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3
Fiona is not quiet.
Unknown
inv-rconc
[@1: Fiona is quiet.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Fiona" "is" "quiet" "-")
Fiona is red.
Unknown
rconc
[@3: Fiona is red.[CWA. Example of deepest failure = (rule6 <- rule3 <- rule5 <- FAIL)]]
("Fiona" "is" "red" "+")
Fiona is not young.
Unknown
inv-rconc
[@2: Fiona is young.[CWA. Example of deepest failure = (rule3 <- rule5 <- FAIL)]]
("Fiona" "is" "young" "-")
Fiona is kind.
Unknown
random
[@0: Fiona is kind.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "kind" "+")
Dave is not rough.
Unknown
inv-random
[@0: Dave is rough.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "rough" "-")
Fiona is rough.
Unknown
random
[@0: Fiona is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "rough" "+")
@0: Charlie is kind.[(triple1)] Dave is kind.[(triple2)] Fiona is blue.[(triple3)] @1: Charlie is blue.[(((triple1) -> rule1) OR ((((((((triple1) -> rule5)) -> rule3)) -> rule6)) -> rule2))] Charlie is quiet.[(((triple1) -> rule5))] Dave is blue.[(((triple2) -> rule1) OR ((((((((triple2) -> rule5)) -> rule3)) -> rule6)) -> rule2))] Dave is quiet.[(((triple2) -> rule5))] Fiona is green.[(((triple3) -> rule4))] @2: Charlie is green.[(((((triple1) -> rule1)) -> rule4) OR ((((((((((triple1) -> rule5)) -> rule3)) -> rule6)) -> rule2)) -> rule4))] Charlie is young.[(((((triple1) -> rule5)) -> rule3))] Dave is green.[(((((triple2) -> rule1)) -> rule4) OR ((((((((((triple2) -> rule5)) -> rule3)) -> rule6)) -> rule2)) -> rule4))] Dave is young.[(((((triple2) -> rule5)) -> rule3))] @3: Charlie is red.[(((((((triple1) -> rule5)) -> rule3)) -> rule6))] Dave is red.[(((((((triple2) -> rule5)) -> rule3)) -> rule6))]
Charlie is kind.
("Charlie" "is" "kind" "+")
triple1
Dave is kind.
("Dave" "is" "kind" "+")
triple2
Fiona is blue.
("Fiona" "is" "blue" "+")
triple3
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple1) -> (rule1 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
((((((((triple1) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int4
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((triple1) -> (rule5 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
((triple2) -> (rule1 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((((((((triple2) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
Dave is quiet.
("Dave" "is" "quiet" "+")
int4
Dave is quiet.
("Dave" "is" "quiet" "+")
((triple2) -> (rule5 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
((triple3) -> (rule4 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
((((triple1) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
((((((((((triple1) -> (rule5 % int5))) -> (rule3 % int4))) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
int4
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int5
Charlie is young.
("Charlie" "is" "young" "+")
((((triple1) -> (rule5 % int2))) -> (rule3 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
((((triple2) -> (rule1 % int2))) -> (rule4 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((((((((triple2) -> (rule5 % int5))) -> (rule3 % int4))) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Dave is young.
("Dave" "is" "young" "+")
int4
Dave is quiet.
("Dave" "is" "quiet" "+")
int5
Dave is young.
("Dave" "is" "young" "+")
((((triple2) -> (rule5 % int2))) -> (rule3 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
((((((triple1) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Dave is red.
("Dave" "is" "red" "+")
((((((triple2) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3