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