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