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