Erin is kind. Erin is quiet. Erin is smart. Erin is young. Harry is furry. Harry is kind. Harry is red. Quiet things are furry. If Erin is kind and Erin is young then Erin is smart. Furry things are smart. All furry, young things are red. If Harry is red and Harry is round then Harry is furry. If something is furry then it is kind.
Erin is kind.
("Erin" "is" "kind" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Erin is young.
("Erin" "is" "young" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is red.
("Harry" "is" "red" "+")
Quiet things are furry.
((("something" "is" "quiet" "+")) -> ("something" "is" "furry" "+"))
If Erin is kind and Erin is young then Erin is smart.
((("Erin" "is" "kind" "+") ("Erin" "is" "young" "+")) -> ("Erin" "is" "smart" "+"))
Furry things are smart.
((("something" "is" "furry" "+")) -> ("something" "is" "smart" "+"))
All furry, young things are red.
((("something" "is" "furry" "+") ("something" "is" "young" "+")) -> ("something" "is" "red" "+"))
If Harry is red and Harry is round then Harry is furry.
((("Harry" "is" "red" "+") ("Harry" "is" "round" "+")) -> ("Harry" "is" "furry" "+"))
If something is furry then it is kind.
((("something" "is" "furry" "+")) -> ("something" "is" "kind" "+"))
Harry is red.
True
1
proof
[(triple7)]
("Harry" "is" "red" "+")
triple7
Erin is not smart.
False
1
inv-proof
[(triple3 OR ((triple1 triple4) -> rule2) OR ((((triple2) -> rule1)) -> rule3) OR ((((((triple2) -> rule1)) -> rule6) triple4) -> rule2))]
("Erin" "is" "smart" "-")
triple3
((triple1 triple4) -> (rule2 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
((((triple2) -> (rule1 % int2))) -> (rule3 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
((((((triple2) -> (rule1 % int3))) -> (rule6 % int2)) triple4) -> (rule2 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Harry is not young.
Unknown
inv-random
[@0: Harry is young.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "young" "-")
Harry is quiet.
Unknown
random
[@0: Harry is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "quiet" "+")
@0: Erin is kind.[(triple1 OR ((((triple2) -> rule1)) -> rule6))] Erin is quiet.[(triple2)] Erin is smart.[(triple3 OR ((triple1 triple4) -> rule2) OR ((((triple2) -> rule1)) -> rule3) OR ((((((triple2) -> rule1)) -> rule6) triple4) -> rule2))] Erin is young.[(triple4)] Harry is furry.[(triple5)] Harry is kind.[(triple6 OR ((triple5) -> rule6))] Harry is red.[(triple7)] @1: Erin is furry.[(((triple2) -> rule1))] Harry is smart.[(((triple5) -> rule3))] @2: Erin is red.[(((((triple2) -> rule1) triple4) -> rule4))]
Erin is kind.
("Erin" "is" "kind" "+")
triple1
((((triple2) -> (rule1 % int2))) -> (rule6 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is quiet.
("Erin" "is" "quiet" "+")
triple2
Erin is smart.
("Erin" "is" "smart" "+")
triple3
((triple1 triple4) -> (rule2 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
((((triple2) -> (rule1 % int2))) -> (rule3 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
((((((triple2) -> (rule1 % int3))) -> (rule6 % int2)) triple4) -> (rule2 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is young.
("Erin" "is" "young" "+")
triple4
Harry is furry.
("Harry" "is" "furry" "+")
triple5
Harry is kind.
("Harry" "is" "kind" "+")
triple6
((triple5) -> (rule6 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
triple7
Erin is furry.
("Erin" "is" "furry" "+")
((triple2) -> (rule1 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
((triple5) -> (rule3 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
((((triple2) -> (rule1 % int2)) triple4) -> (rule4 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2