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