Bob is cold. Bob is young. Charlie is big. Charlie is furry. Charlie is nice. Charlie is smart. Erin is furry. Gary is big. Gary is cold. Gary is furry. Gary is nice. Gary is young. All young things are smart. Smart, red things are furry. Big things are cold. If Erin is smart then Erin is big. If something is smart and cold then it is nice. Furry, big things are smart. If Erin is cold then Erin is smart. If Gary is furry then Gary is cold. Furry things are young.
Bob is cold.
("Bob" "is" "cold" "+")
Bob is young.
("Bob" "is" "young" "+")
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is young.
("Gary" "is" "young" "+")
All young things are smart.
((("something" "is" "young" "+")) -> ("something" "is" "smart" "+"))
Smart, red things are furry.
((("something" "is" "smart" "+") ("something" "is" "red" "+")) -> ("something" "is" "furry" "+"))
Big things are cold.
((("something" "is" "big" "+")) -> ("something" "is" "cold" "+"))
If Erin is smart then Erin is big.
((("Erin" "is" "smart" "+")) -> ("Erin" "is" "big" "+"))
If something is smart and cold then it is nice.
((("something" "is" "smart" "+") ("something" "is" "cold" "+")) -> ("something" "is" "nice" "+"))
Furry, big things are smart.
((("something" "is" "furry" "+") ("something" "is" "big" "+")) -> ("something" "is" "smart" "+"))
If Erin is cold then Erin is smart.
((("Erin" "is" "cold" "+")) -> ("Erin" "is" "smart" "+"))
If Gary is furry then Gary is cold.
((("Gary" "is" "furry" "+")) -> ("Gary" "is" "cold" "+"))
Furry things are young.
((("something" "is" "furry" "+")) -> ("something" "is" "young" "+"))
Gary is big.
True
1
proof
[(triple8)]
("Gary" "is" "big" "+")
triple8
Charlie is not furry.
False
1
inv-proof
[(triple4)]
("Charlie" "is" "furry" "-")
triple4
Erin is young.
True
2
proof
[(((triple7) -> rule9))]
("Erin" "is" "young" "+")
((triple7) -> (rule9 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Gary is not smart.
False
2
inv-proof
[(((triple12) -> rule1) OR ((triple10 triple8) -> rule6) OR ((((triple10) -> rule9)) -> rule1))]
("Gary" "is" "smart" "-")
((triple12) -> (rule1 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
((triple10 triple8) -> (rule6 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
((((triple10) -> (rule9 % int2))) -> (rule1 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Bob is nice.
True
4
proof
[(((((triple2) -> rule1) triple1) -> rule5))]
("Bob" "is" "nice" "+")
((((triple2) -> (rule1 % int2)) triple1) -> (rule5 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is not nice.
False
4
inv-proof
[(((((triple2) -> rule1) triple1) -> rule5))]
("Bob" "is" "nice" "-")
((((triple2) -> (rule1 % int2)) triple1) -> (rule5 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Erin is big.
True
4
proof
[(((((((triple7) -> rule9)) -> rule1)) -> rule4))]
("Erin" "is" "big" "+")
((((((triple7) -> (rule9 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
Erin is not big.
False
4
inv-proof
[(((((((triple7) -> rule9)) -> rule1)) -> rule4))]
("Erin" "is" "big" "-")
((((((triple7) -> (rule9 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
Erin is cold.
True
5
proof
[(((((((((triple7) -> rule9)) -> rule1)) -> rule4)) -> rule3))]
("Erin" "is" "cold" "+")
((((((((triple7) -> (rule9 % int4))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
Erin is young.
("Erin" "is" "young" "+")
int4
Erin is not cold.
False
5
inv-proof
[(((((((((triple7) -> rule9)) -> rule1)) -> rule4)) -> rule3))]
("Erin" "is" "cold" "-")
((((((((triple7) -> (rule9 % int4))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
Erin is young.
("Erin" "is" "young" "+")
int4
Erin is nice.
True
9
proof
[(((((((triple7) -> rule9)) -> rule1) ((((((((triple7) -> rule9)) -> rule1)) -> rule4)) -> rule3)) -> rule5))]
("Erin" "is" "nice" "+")
((((((triple7) -> (rule9 % int5))) -> (rule1 % int4)) ((((((((triple7) -> (rule9 % int5))) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is smart.
("Erin" "is" "smart" "+")
int4
Erin is young.
("Erin" "is" "young" "+")
int5
Erin is not nice.
False
9
inv-proof
[(((((((triple7) -> rule9)) -> rule1) ((((((((triple7) -> rule9)) -> rule1)) -> rule4)) -> rule3)) -> rule5))]
("Erin" "is" "nice" "-")
((((((triple7) -> (rule9 % int5))) -> (rule1 % int4)) ((((((((triple7) -> (rule9 % int5))) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is smart.
("Erin" "is" "smart" "+")
int4
Erin is young.
("Erin" "is" "young" "+")
int5
Bob is not furry.
Unknown
inv-rconc
[@1: Bob is furry.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "furry" "-")
Erin is red.
Unknown
random
[@0: Erin is red.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "red" "+")
Charlie is not red.
Unknown
inv-random
[@0: Charlie is red.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "red" "-")
Bob is red.
Unknown
random
[@0: Bob is red.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "red" "+")
Bob is not big.
Unknown
inv-random
[@0: Bob is big.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "big" "-")
Gary is red.
Unknown
random
[@0: Gary is red.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "red" "+")
@0: Bob is cold.[(triple1)] Bob is young.[(triple2)] Charlie is big.[(triple3)] Charlie is furry.[(triple4)] Charlie is nice.[(triple5 OR ((triple6 ((triple3) -> rule3)) -> rule5) OR ((((triple4 triple3) -> rule6) ((triple3) -> rule3)) -> rule5) OR ((((((triple4) -> rule9)) -> rule1) ((triple3) -> rule3)) -> rule5))] Charlie is smart.[(triple6 OR ((triple4 triple3) -> rule6) OR ((((triple4) -> rule9)) -> rule1))] Erin is furry.[(triple7)] Gary is big.[(triple8)] Gary is cold.[(triple9 OR ((triple10) -> rule8) OR ((triple8) -> rule3))] Gary is furry.[(triple10)] Gary is nice.[(triple11 OR ((((triple12) -> rule1) triple9) -> rule5) OR ((((triple10 triple8) -> rule6) triple9) -> rule5) OR ((((triple12) -> rule1) ((triple10) -> rule8)) -> rule5) OR ((((triple12) -> rule1) ((triple8) -> rule3)) -> rule5) OR ((((triple10 triple8) -> rule6) ((triple10) -> rule8)) -> rule5) OR ((((triple10 triple8) -> rule6) ((triple8) -> rule3)) -> rule5) OR ((((((triple10) -> rule9)) -> rule1) triple9) -> rule5) OR ((((((triple10) -> rule9)) -> rule1) ((triple10) -> rule8)) -> rule5) OR ((((((triple10) -> rule9)) -> rule1) ((triple8) -> rule3)) -> rule5))] Gary is young.[(triple12 OR ((triple10) -> rule9))] @1: Bob is smart.[(((triple2) -> rule1))] Charlie is cold.[(((triple3) -> rule3))] Charlie is young.[(((triple4) -> rule9))] Erin is young.[(((triple7) -> rule9))] Gary is smart.[(((triple12) -> rule1) OR ((triple10 triple8) -> rule6) OR ((((triple10) -> rule9)) -> rule1))] @2: Bob is nice.[(((((triple2) -> rule1) triple1) -> rule5))] Erin is smart.[(((((triple7) -> rule9)) -> rule1))] @3: Erin is big.[(((((((triple7) -> rule9)) -> rule1)) -> rule4))] @4: Erin is cold.[(((((((((triple7) -> rule9)) -> rule1)) -> rule4)) -> rule3))] @5: Erin is nice.[(((((((triple7) -> rule9)) -> rule1) ((((((((triple7) -> rule9)) -> rule1)) -> rule4)) -> rule3)) -> rule5))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
Bob is young.
("Bob" "is" "young" "+")
triple2
Charlie is big.
("Charlie" "is" "big" "+")
triple3
Charlie is furry.
("Charlie" "is" "furry" "+")
triple4
Charlie is nice.
("Charlie" "is" "nice" "+")
triple5
((triple6 ((triple3) -> (rule3 % int2))) -> (rule5 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
((((triple4 triple3) -> (rule6 % int3)) ((triple3) -> (rule3 % int2))) -> (rule5 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
((((((triple4) -> (rule9 % int4))) -> (rule1 % int3)) ((triple3) -> (rule3 % int2))) -> (rule5 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
int4
Charlie is smart.
("Charlie" "is" "smart" "+")
triple6
((triple4 triple3) -> (rule6 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
((((triple4) -> (rule9 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
triple7
Gary is big.
("Gary" "is" "big" "+")
triple8
Gary is cold.
("Gary" "is" "cold" "+")
triple9
((triple10) -> (rule8 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
((triple8) -> (rule3 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
triple10
Gary is nice.
("Gary" "is" "nice" "+")
triple11
((((triple12) -> (rule1 % int2)) triple9) -> (rule5 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
((((triple10 triple8) -> (rule6 % int2)) triple9) -> (rule5 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
((((triple12) -> (rule1 % int3)) ((triple10) -> (rule8 % int2))) -> (rule5 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
((((triple12) -> (rule1 % int3)) ((triple8) -> (rule3 % int2))) -> (rule5 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
((((triple10 triple8) -> (rule6 % int3)) ((triple10) -> (rule8 % int2))) -> (rule5 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
((((triple10 triple8) -> (rule6 % int3)) ((triple8) -> (rule3 % int2))) -> (rule5 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
((((((triple10) -> (rule9 % int3))) -> (rule1 % int2)) triple9) -> (rule5 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
((((((triple10) -> (rule9 % int4))) -> (rule1 % int3)) ((triple10) -> (rule8 % int2))) -> (rule5 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
((((((triple10) -> (rule9 % int4))) -> (rule1 % int3)) ((triple8) -> (rule3 % int2))) -> (rule5 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
Gary is young.
("Gary" "is" "young" "+")
triple12
((triple10) -> (rule9 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
((triple2) -> (rule1 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
((triple3) -> (rule3 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
((triple4) -> (rule9 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
((triple7) -> (rule9 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
((triple12) -> (rule1 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
((triple10 triple8) -> (rule6 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
((((triple10) -> (rule9 % int2))) -> (rule1 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
((((triple2) -> (rule1 % int2)) triple1) -> (rule5 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
((((triple7) -> (rule9 % int2))) -> (rule1 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
((((((triple7) -> (rule9 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
((((((((triple7) -> (rule9 % int4))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
Erin is young.
("Erin" "is" "young" "+")
int4
Erin is nice.
("Erin" "is" "nice" "+")
((((((triple7) -> (rule9 % int5))) -> (rule1 % int4)) ((((((((triple7) -> (rule9 % int5))) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is smart.
("Erin" "is" "smart" "+")
int4
Erin is young.
("Erin" "is" "young" "+")
int5