Anne is green. Erin is cold. Erin is furry. Erin is green. Erin is red. Erin is smart. Erin is young. Fiona is furry. Fiona is red. Harry is cold. Harry is furry. Harry is green. If someone is green and furry then they are young. If someone is green then they are red. All cold people are red. If someone is furry and young then they are smart. If someone is smart and red then they are furry. All young, smart people are furry. Smart people are young. If Anne is red then Anne is furry. All smart people are cold.
Anne is green.
("Anne" "is" "green" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Erin is young.
("Erin" "is" "young" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is green.
("Harry" "is" "green" "+")
If someone is green and furry then they are young.
((("someone" "is" "green" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "young" "+"))
If someone is green then they are red.
((("someone" "is" "green" "+")) -> ("someone" "is" "red" "+"))
All cold people are red.
((("someone" "is" "cold" "+")) -> ("someone" "is" "red" "+"))
If someone is furry and young then they are smart.
((("someone" "is" "furry" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "smart" "+"))
If someone is smart and red then they are furry.
((("someone" "is" "smart" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "furry" "+"))
All young, smart people are furry.
((("someone" "is" "young" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "furry" "+"))
Smart people are young.
((("someone" "is" "smart" "+")) -> ("someone" "is" "young" "+"))
If Anne is red then Anne is furry.
((("Anne" "is" "red" "+")) -> ("Anne" "is" "furry" "+"))
All smart people are cold.
((("someone" "is" "smart" "+")) -> ("someone" "is" "cold" "+"))
Fiona is furry.
True
1
proof
[(triple8)]
("Fiona" "is" "furry" "+")
triple8
Erin is not green.
False
1
inv-proof
[(triple4)]
("Erin" "is" "green" "-")
triple4
Harry is young.
True
3
proof
[(((triple12 triple11) -> rule1))]
("Harry" "is" "young" "+")
((triple12 triple11) -> (rule1 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is not red.
False
2
inv-proof
[(((triple10) -> rule3) OR ((triple12) -> rule2) OR ((((((triple11 ((triple12 triple11) -> rule1)) -> rule4)) -> rule9)) -> rule3))]
("Harry" "is" "red" "-")
((triple10) -> (rule3 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
((triple12) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
((((((triple11 ((triple12 triple11) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule9 % int2))) -> (rule3 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Harry is young.
("Harry" "is" "young" "+")
int4
Anne is furry.
True
3
proof
[(((((triple1) -> rule2)) -> rule8))]
("Anne" "is" "furry" "+")
((((triple1) -> (rule2 % int2))) -> (rule8 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Harry is not smart.
False
5
inv-proof
[(((triple11 ((triple12 triple11) -> rule1)) -> rule4))]
("Harry" "is" "smart" "-")
((triple11 ((triple12 triple11) -> (rule1 % int2))) -> (rule4 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Anne is young.
True
5
proof
[(((triple1 ((((triple1) -> rule2)) -> rule8)) -> rule1))]
("Anne" "is" "young" "+")
((triple1 ((((triple1) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is not young.
False
5
inv-proof
[(((triple1 ((((triple1) -> rule2)) -> rule8)) -> rule1))]
("Anne" "is" "young" "-")
((triple1 ((((triple1) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is smart.
True
9
proof
[(((((((triple1) -> rule2)) -> rule8) ((triple1 ((((triple1) -> rule2)) -> rule8)) -> rule1)) -> rule4))]
("Anne" "is" "smart" "+")
((((((triple1) -> (rule2 % int4))) -> (rule8 % int3)) ((triple1 ((((triple1) -> (rule2 % int4))) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is red.
("Anne" "is" "red" "+")
int4
Anne is not smart.
False
9
inv-proof
[(((((((triple1) -> rule2)) -> rule8) ((triple1 ((((triple1) -> rule2)) -> rule8)) -> rule1)) -> rule4))]
("Anne" "is" "smart" "-")
((((((triple1) -> (rule2 % int4))) -> (rule8 % int3)) ((triple1 ((((triple1) -> (rule2 % int4))) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is red.
("Anne" "is" "red" "+")
int4
Anne is cold.
True
10
proof
[(((((((((triple1) -> rule2)) -> rule8) ((triple1 ((((triple1) -> rule2)) -> rule8)) -> rule1)) -> rule4)) -> rule9))]
("Anne" "is" "cold" "+")
((((((((triple1) -> (rule2 % int5))) -> (rule8 % int4)) ((triple1 ((((triple1) -> (rule2 % int5))) -> (rule8 % int4))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule9 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is young.
("Anne" "is" "young" "+")
int3
Anne is furry.
("Anne" "is" "furry" "+")
int4
Anne is red.
("Anne" "is" "red" "+")
int5
Anne is not cold.
False
10
inv-proof
[(((((((((triple1) -> rule2)) -> rule8) ((triple1 ((((triple1) -> rule2)) -> rule8)) -> rule1)) -> rule4)) -> rule9))]
("Anne" "is" "cold" "-")
((((((((triple1) -> (rule2 % int5))) -> (rule8 % int4)) ((triple1 ((((triple1) -> (rule2 % int5))) -> (rule8 % int4))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule9 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is young.
("Anne" "is" "young" "+")
int3
Anne is furry.
("Anne" "is" "furry" "+")
int4
Anne is red.
("Anne" "is" "red" "+")
int5
Fiona is not smart.
Unknown
inv-rconc
[@2: Fiona is smart.[CWA. Example of deepest failure = (rule4 <- rule1 <- FAIL)]]
("Fiona" "is" "smart" "-")
Fiona is young.
Unknown
rconc
[@3: Fiona is young.[CWA. Example of deepest failure = (rule7 <- rule4 <- rule1 <- FAIL)]]
("Fiona" "is" "young" "+")
Fiona is not cold.
Unknown
inv-rconc
[@3: Fiona is cold.[CWA. Example of deepest failure = (rule9 <- rule4 <- rule1 <- FAIL)]]
("Fiona" "is" "cold" "-")
Harry is white.
Unknown
random
[@0: Harry is white.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "white" "+")
Erin is not white.
Unknown
inv-random
[@0: Erin is white.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "white" "-")
Fiona is white.
Unknown
random
[@0: Fiona is white.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "white" "+")
Fiona is not green.
Unknown
inv-random
[@0: Fiona is green.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "green" "-")
Anne is white.
Unknown
random
[@0: Anne is white.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "white" "+")
@0: Anne is green.[(triple1)] Erin is cold.[(triple2 OR ((triple6) -> rule9) OR ((((triple3 triple7) -> rule4)) -> rule9) OR ((((triple3 ((triple4 triple3) -> rule1)) -> rule4)) -> rule9))] Erin is furry.[(triple3 OR ((triple6 triple5) -> rule5) OR ((triple7 triple6) -> rule6) OR ((triple6 ((triple2) -> rule3)) -> rule5) OR ((triple6 ((triple4) -> rule2)) -> rule5) OR ((((triple6) -> rule7) triple6) -> rule6) OR ((triple6 ((((triple6) -> rule9)) -> rule3)) -> rule5))] Erin is green.[(triple4)] Erin is red.[(triple5 OR ((triple2) -> rule3) OR ((triple4) -> rule2) OR ((((triple6) -> rule9)) -> rule3) OR ((((((triple3 triple7) -> rule4)) -> rule9)) -> rule3) OR ((((((triple3 ((triple4 triple3) -> rule1)) -> rule4)) -> rule9)) -> rule3))] Erin is smart.[(triple6 OR ((triple3 triple7) -> rule4) OR ((triple3 ((triple4 triple3) -> rule1)) -> rule4))] Erin is young.[(triple7 OR ((triple6) -> rule7) OR ((triple4 triple3) -> rule1) OR ((triple4 ((triple6 triple5) -> rule5)) -> rule1) OR ((triple4 ((triple6 ((triple2) -> rule3)) -> rule5)) -> rule1) OR ((triple4 ((triple6 ((triple4) -> rule2)) -> rule5)) -> rule1) OR ((triple4 ((triple6 ((((triple6) -> rule9)) -> rule3)) -> rule5)) -> rule1))] Fiona is furry.[(triple8)] Fiona is red.[(triple9)] Harry is cold.[(triple10 OR ((((triple11 ((triple12 triple11) -> rule1)) -> rule4)) -> rule9))] Harry is furry.[(triple11)] Harry is green.[(triple12)] @1: Anne is red.[(((triple1) -> rule2))] Harry is red.[(((triple10) -> rule3) OR ((triple12) -> rule2) OR ((((((triple11 ((triple12 triple11) -> rule1)) -> rule4)) -> rule9)) -> rule3))] Harry is young.[(((triple12 triple11) -> rule1))] @2: Anne is furry.[(((((triple1) -> rule2)) -> rule8))] Harry is smart.[(((triple11 ((triple12 triple11) -> rule1)) -> rule4))] @3: Anne is young.[(((triple1 ((((triple1) -> rule2)) -> rule8)) -> rule1))] @4: Anne is smart.[(((((((triple1) -> rule2)) -> rule8) ((triple1 ((((triple1) -> rule2)) -> rule8)) -> rule1)) -> rule4))] @5: Anne is cold.[(((((((((triple1) -> rule2)) -> rule8) ((triple1 ((((triple1) -> rule2)) -> rule8)) -> rule1)) -> rule4)) -> rule9))]
Anne is green.
("Anne" "is" "green" "+")
triple1
Erin is cold.
("Erin" "is" "cold" "+")
triple2
((triple6) -> (rule9 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((((triple3 triple7) -> (rule4 % int2))) -> (rule9 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
((((triple3 ((triple4 triple3) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule9 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
triple3
((triple6 triple5) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
((triple7 triple6) -> (rule6 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
((triple6 ((triple2) -> (rule3 % int2))) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
((triple6 ((triple4) -> (rule2 % int2))) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
((((triple6) -> (rule7 % int2)) triple6) -> (rule6 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
((triple6 ((((triple6) -> (rule9 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Erin is green.
("Erin" "is" "green" "+")
triple4
Erin is red.
("Erin" "is" "red" "+")
triple5
((triple2) -> (rule3 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((triple4) -> (rule2 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((((triple6) -> (rule9 % int2))) -> (rule3 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
((((((triple3 triple7) -> (rule4 % int3))) -> (rule9 % int2))) -> (rule3 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
((((((triple3 ((triple4 triple3) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule9 % int2))) -> (rule3 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
Erin is young.
("Erin" "is" "young" "+")
int4
Erin is smart.
("Erin" "is" "smart" "+")
triple6
((triple3 triple7) -> (rule4 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
((triple3 ((triple4 triple3) -> (rule1 % int2))) -> (rule4 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
triple7
((triple6) -> (rule7 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
((triple4 triple3) -> (rule1 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
((triple4 ((triple6 triple5) -> (rule5 % int2))) -> (rule1 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
((triple4 ((triple6 ((triple2) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
((triple4 ((triple6 ((triple4) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
((triple4 ((triple6 ((((triple6) -> (rule9 % int4))) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
Fiona is furry.
("Fiona" "is" "furry" "+")
triple8
Fiona is red.
("Fiona" "is" "red" "+")
triple9
Harry is cold.
("Harry" "is" "cold" "+")
triple10
((((triple11 ((triple12 triple11) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule9 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
Harry is furry.
("Harry" "is" "furry" "+")
triple11
Harry is green.
("Harry" "is" "green" "+")
triple12
Anne is red.
("Anne" "is" "red" "+")
((triple1) -> (rule2 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
((triple10) -> (rule3 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
((triple12) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
((((((triple11 ((triple12 triple11) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule9 % int2))) -> (rule3 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Harry is young.
("Harry" "is" "young" "+")
int4
Harry is young.
("Harry" "is" "young" "+")
((triple12 triple11) -> (rule1 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
((((triple1) -> (rule2 % int2))) -> (rule8 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
((triple11 ((triple12 triple11) -> (rule1 % int2))) -> (rule4 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Anne is young.
("Anne" "is" "young" "+")
((triple1 ((((triple1) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is smart.
("Anne" "is" "smart" "+")
((((((triple1) -> (rule2 % int4))) -> (rule8 % int3)) ((triple1 ((((triple1) -> (rule2 % int4))) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is red.
("Anne" "is" "red" "+")
int4
Anne is cold.
("Anne" "is" "cold" "+")
((((((((triple1) -> (rule2 % int5))) -> (rule8 % int4)) ((triple1 ((((triple1) -> (rule2 % int5))) -> (rule8 % int4))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule9 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is young.
("Anne" "is" "young" "+")
int3
Anne is furry.
("Anne" "is" "furry" "+")
int4
Anne is red.
("Anne" "is" "red" "+")
int5