Dave is green. Dave is quiet. Dave is rough. Fiona is not blue. Fiona is green. Fiona is quiet. Fiona is red. Rough things are blue. If something is blue and young then it is quiet. All red things are quiet. If something is blue then it is young. All blue things are young. If something is blue and round then it is green. If Fiona is red then Fiona is quiet. If something is round and blue then it is rough.
Dave is green.
("Dave" "is" "green" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Fiona is not blue.
("Fiona" "is" "blue" "-")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Rough things are blue.
((("something" "is" "rough" "+")) -> ("something" "is" "blue" "+"))
If something is blue and young then it is quiet.
((("something" "is" "blue" "+") ("something" "is" "young" "+")) -> ("something" "is" "quiet" "+"))
All red things are quiet.
((("something" "is" "red" "+")) -> ("something" "is" "quiet" "+"))
If something is blue then it is young.
((("something" "is" "blue" "+")) -> ("something" "is" "young" "+"))
All blue things are young.
((("something" "is" "blue" "+")) -> ("something" "is" "young" "+"))
If something is blue and round then it is green.
((("something" "is" "blue" "+") ("something" "is" "round" "+")) -> ("something" "is" "green" "+"))
If Fiona is red then Fiona is quiet.
((("Fiona" "is" "red" "+")) -> ("Fiona" "is" "quiet" "+"))
If something is round and blue then it is rough.
((("something" "is" "round" "+") ("something" "is" "blue" "+")) -> ("something" "is" "rough" "+"))
Fiona is green.
True
1
proof
[(triple5)]
("Fiona" "is" "green" "+")
triple5
Fiona is blue.
False
1
inv-proof
[(triple4)]
("Fiona" "is" "blue" "+")
triple4
Dave is blue.
True
2
proof
[(((triple3) -> rule1))]
("Dave" "is" "blue" "+")
((triple3) -> (rule1 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is not blue.
False
2
inv-proof
[(((triple3) -> rule1))]
("Dave" "is" "blue" "-")
((triple3) -> (rule1 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is young.
True
3
proof
[(((((triple3) -> rule1)) -> rule4) OR ((((triple3) -> rule1)) -> rule5))]
("Dave" "is" "young" "+")
((((triple3) -> (rule1 % int2))) -> (rule4 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((triple3) -> (rule1 % int2))) -> (rule5 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is not young.
False
3
inv-proof
[(((((triple3) -> rule1)) -> rule4) OR ((((triple3) -> rule1)) -> rule5))]
("Dave" "is" "young" "-")
((((triple3) -> (rule1 % int2))) -> (rule4 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((triple3) -> (rule1 % int2))) -> (rule5 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Fiona is not young.
Unknown
inv-rconc
[@1: Fiona is young.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Fiona" "is" "young" "-")
Fiona is rough.
Unknown
rconc
[@1: Fiona is rough.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Fiona" "is" "rough" "+")
Dave is not red.
Unknown
inv-random
[@0: Dave is red.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "red" "-")
Fiona is round.
Unknown
random
[@0: Fiona is round.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "round" "+")
@0: Dave is green.[(triple1)] Dave is quiet.[(triple2 OR ((((triple3) -> rule1) ((((triple3) -> rule1)) -> rule4)) -> rule2) OR ((((triple3) -> rule1) ((((triple3) -> rule1)) -> rule5)) -> rule2))] Dave is rough.[(triple3)] Fiona is green.[(triple5)] Fiona is not blue.[(triple4)] Fiona is quiet.[(triple6 OR ((triple7) -> rule3) OR ((triple7) -> rule7))] Fiona is red.[(triple7)] @1: Dave is blue.[(((triple3) -> rule1))] @2: Dave is young.[(((((triple3) -> rule1)) -> rule4) OR ((((triple3) -> rule1)) -> rule5))]
Dave is green.
("Dave" "is" "green" "+")
triple1
Dave is quiet.
("Dave" "is" "quiet" "+")
triple2
((((triple3) -> (rule1 % int3)) ((((triple3) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
((((triple3) -> (rule1 % int3)) ((((triple3) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
triple3
Fiona is green.
("Fiona" "is" "green" "+")
triple5
Fiona is not blue.
("Fiona" "is" "blue" "-")
triple4
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple6
((triple7) -> (rule3 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
((triple7) -> (rule7 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
triple7
Dave is blue.
("Dave" "is" "blue" "+")
((triple3) -> (rule1 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
((((triple3) -> (rule1 % int2))) -> (rule4 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((triple3) -> (rule1 % int2))) -> (rule5 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2