Anne is round. Erin is nice. Fiona is quiet. Harry is not smart. Smart things are green. If something is nice then it is quiet. Nice things are quiet. Round things are nice. If something is quiet and nice then it is white. If something is green and not nice then it is cold.
Anne is round.
("Anne" "is" "round" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Harry is not smart.
("Harry" "is" "smart" "-")
Smart things are green.
((("something" "is" "smart" "+")) -> ("something" "is" "green" "+"))
If something is nice then it is quiet.
((("something" "is" "nice" "+")) -> ("something" "is" "quiet" "+"))
Nice things are quiet.
((("something" "is" "nice" "+")) -> ("something" "is" "quiet" "+"))
Round things are nice.
((("something" "is" "round" "+")) -> ("something" "is" "nice" "+"))
If something is quiet and nice then it is white.
((("something" "is" "quiet" "+") ("something" "is" "nice" "+")) -> ("something" "is" "white" "+"))
If something is green and not nice then it is cold.
((("something" "is" "green" "+") ("something" "is" "nice" "~")) -> ("something" "is" "cold" "+"))
Fiona is quiet.
True
1
proof
[(triple3)]
("Fiona" "is" "quiet" "+")
triple3
Harry is smart.
False
1
inv-proof
[(triple4)]
("Harry" "is" "smart" "+")
triple4
Erin is quiet.
True
2
proof
[(((triple2) -> rule2) OR ((triple2) -> rule3))]
("Erin" "is" "quiet" "+")
((triple2) -> (rule2 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
((triple2) -> (rule3 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Anne is not nice.
False
2
inv-proof
[(((triple1) -> rule4))]
("Anne" "is" "nice" "-")
((triple1) -> (rule4 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is quiet.
True
3
proof
[(((((triple1) -> rule4)) -> rule2) OR ((((triple1) -> rule4)) -> rule3))]
("Anne" "is" "quiet" "+")
((((triple1) -> (rule4 % int2))) -> (rule2 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
((((triple1) -> (rule4 % int2))) -> (rule3 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Anne is not quiet.
False
3
inv-proof
[(((((triple1) -> rule4)) -> rule2) OR ((((triple1) -> rule4)) -> rule3))]
("Anne" "is" "quiet" "-")
((((triple1) -> (rule4 % int2))) -> (rule2 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
((((triple1) -> (rule4 % int2))) -> (rule3 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Anne is white.
True
6
proof
[(((((((triple1) -> rule4)) -> rule2) ((triple1) -> rule4)) -> rule5) OR ((((((triple1) -> rule4)) -> rule3) ((triple1) -> rule4)) -> rule5))]
("Anne" "is" "white" "+")
((((((triple1) -> (rule4 % int3))) -> (rule2 % int2)) ((triple1) -> (rule4 % int3))) -> (rule5 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
((((((triple1) -> (rule4 % int3))) -> (rule3 % int2)) ((triple1) -> (rule4 % int3))) -> (rule5 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
Anne is not white.
False
6
inv-proof
[(((((((triple1) -> rule4)) -> rule2) ((triple1) -> rule4)) -> rule5) OR ((((((triple1) -> rule4)) -> rule3) ((triple1) -> rule4)) -> rule5))]
("Anne" "is" "white" "-")
((((((triple1) -> (rule4 % int3))) -> (rule2 % int2)) ((triple1) -> (rule4 % int3))) -> (rule5 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
((((((triple1) -> (rule4 % int3))) -> (rule3 % int2)) ((triple1) -> (rule4 % int3))) -> (rule5 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
Harry is not nice.
Unknown
inv-rconc
[@1: Harry is nice.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Harry" "is" "nice" "-")
Fiona is green.
Unknown
rconc
[@1: Fiona is green.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Fiona" "is" "green" "+")
Harry is not white.
Unknown
inv-rconc
[@2: Harry is white.[CWA. Example of deepest failure = (rule5 <- rule4 <- FAIL)]]
("Harry" "is" "white" "-")
Harry is green.
Unknown
rconc
[@1: Harry is green.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Harry" "is" "green" "+")
Fiona is not round.
Unknown
inv-random
[@0: Fiona is round.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "round" "-")
Erin is round.
Unknown
random
[@0: Erin is round.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "round" "+")
Anne is not smart.
Unknown
inv-random
[@0: Anne is smart.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "smart" "-")
Fiona is smart.
Unknown
random
[@0: Fiona is smart.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "smart" "+")
@0: Anne is round.[(triple1)] Erin is nice.[(triple2)] Fiona is quiet.[(triple3)] Harry is not smart.[(triple4)] @1: Anne is nice.[(((triple1) -> rule4))] Erin is quiet.[(((triple2) -> rule2) OR ((triple2) -> rule3))] @2: Anne is quiet.[(((((triple1) -> rule4)) -> rule2) OR ((((triple1) -> rule4)) -> rule3))] Erin is white.[(((((triple2) -> rule2) triple2) -> rule5) OR ((((triple2) -> rule3) triple2) -> rule5))] @3: Anne is white.[(((((((triple1) -> rule4)) -> rule2) ((triple1) -> rule4)) -> rule5) OR ((((((triple1) -> rule4)) -> rule3) ((triple1) -> rule4)) -> rule5))]
Anne is round.
("Anne" "is" "round" "+")
triple1
Erin is nice.
("Erin" "is" "nice" "+")
triple2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple3
Harry is not smart.
("Harry" "is" "smart" "-")
triple4
Anne is nice.
("Anne" "is" "nice" "+")
((triple1) -> (rule4 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
((triple2) -> (rule2 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
((triple2) -> (rule3 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
((((triple1) -> (rule4 % int2))) -> (rule2 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
((((triple1) -> (rule4 % int2))) -> (rule3 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
((((triple2) -> (rule2 % int2)) triple2) -> (rule5 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
((((triple2) -> (rule3 % int2)) triple2) -> (rule5 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
((((((triple1) -> (rule4 % int3))) -> (rule2 % int2)) ((triple1) -> (rule4 % int3))) -> (rule5 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
((((((triple1) -> (rule4 % int3))) -> (rule3 % int2)) ((triple1) -> (rule4 % int3))) -> (rule5 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3