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