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