Charlie is furry. Charlie is not rough. Charlie is young. Dave is blue. Dave is furry. Dave is not rough. Dave is not round. Erin is big. Erin is red. Erin is rough. Erin is young. Harry is not big. Harry is not blue. Harry is not furry. Harry is young. If something is rough and not blue then it is not furry. If something is furry then it is big. All red things are big. All blue things are not rough. All big things are not round. Furry things are red.
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is not rough.
("Charlie" "is" "rough" "-")
Charlie is young.
("Charlie" "is" "young" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is not rough.
("Dave" "is" "rough" "-")
Dave is not round.
("Dave" "is" "round" "-")
Erin is big.
("Erin" "is" "big" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is young.
("Erin" "is" "young" "+")
Harry is not big.
("Harry" "is" "big" "-")
Harry is not blue.
("Harry" "is" "blue" "-")
Harry is not furry.
("Harry" "is" "furry" "-")
Harry is young.
("Harry" "is" "young" "+")
If something is rough and not blue then it is not furry.
((("something" "is" "rough" "+") ("something" "is" "blue" "~")) -> ("something" "is" "furry" "-"))
If something is furry then it is big.
((("something" "is" "furry" "+")) -> ("something" "is" "big" "+"))
All red things are big.
((("something" "is" "red" "+")) -> ("something" "is" "big" "+"))
All blue things are not rough.
((("something" "is" "blue" "+")) -> ("something" "is" "rough" "-"))
All big things are not round.
((("something" "is" "big" "+")) -> ("something" "is" "round" "-"))
Furry things are red.
((("something" "is" "furry" "+")) -> ("something" "is" "red" "+"))
Charlie is young.
True
1
proof
[(triple3)]
("Charlie" "is" "young" "+")
triple3
Dave is not furry.
False
1
inv-proof
[(triple5)]
("Dave" "is" "furry" "-")
triple5
Charlie is red.
True
2
proof
[(((triple1) -> rule6))]
("Charlie" "is" "red" "+")
((triple1) -> (rule6 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Dave is not red.
False
2
inv-proof
[(((triple5) -> rule6))]
("Dave" "is" "red" "-")
((triple5) -> (rule6 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Charlie is not round.
True
3
proof
[(((((triple1) -> rule2)) -> rule5) OR ((((((triple1) -> rule6)) -> rule3)) -> rule5))]
("Charlie" "is" "round" "-")
((((triple1) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is not round.
("Charlie" "is" "round" "-")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
((((((triple1) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Charlie is not round.
("Charlie" "is" "round" "-")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is round.
False
3
inv-proof
[(((((triple1) -> rule2)) -> rule5) OR ((((((triple1) -> rule6)) -> rule3)) -> rule5))]
("Charlie" "is" "round" "+")
((((triple1) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is not round.
("Charlie" "is" "round" "-")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
((((((triple1) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Charlie is not round.
("Charlie" "is" "round" "-")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Harry is not red.
Unknown
inv-rconc
[@1: Harry is red.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Harry" "is" "red" "-")
Dave is young.
Unknown
random
[@0: Dave is young.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "young" "+")
Erin is not furry.
Unknown
inv-random
[@0: Erin is furry.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "furry" "-")
Harry is rough.
Unknown
random
[@0: Harry is rough.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "rough" "+")
Erin is not blue.
Unknown
inv-random
[@0: Erin is blue.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "blue" "-")
Charlie is blue.
Unknown
random
[@0: Charlie is blue.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "blue" "+")
@0: Charlie is furry.[(triple1)] Charlie is not rough.[(triple2)] Charlie is young.[(triple3)] Dave is blue.[(triple4)] Dave is furry.[(triple5)] Dave is not rough.[(triple6 OR ((triple4) -> rule4))] Dave is not round.[(triple7 OR ((((triple5) -> rule2)) -> rule5) OR ((((((triple5) -> rule6)) -> rule3)) -> rule5))] Erin is big.[(triple8 OR ((triple9) -> rule3))] Erin is red.[(triple9)] Erin is rough.[(triple10)] Erin is young.[(triple11)] Harry is not big.[(triple12)] Harry is not blue.[(triple13)] Harry is not furry.[(triple14)] Harry is young.[(triple15)] @1: Charlie is big.[(((triple1) -> rule2) OR ((((triple1) -> rule6)) -> rule3))] Charlie is red.[(((triple1) -> rule6))] Dave is big.[(((triple5) -> rule2) OR ((((triple5) -> rule6)) -> rule3))] Dave is red.[(((triple5) -> rule6))] Erin is not round.[(((triple8) -> rule5) OR ((((triple9) -> rule3)) -> rule5))] @2: Charlie is not round.[(((((triple1) -> rule2)) -> rule5) OR ((((((triple1) -> rule6)) -> rule3)) -> rule5))]
Charlie is furry.
("Charlie" "is" "furry" "+")
triple1
Charlie is not rough.
("Charlie" "is" "rough" "-")
triple2
Charlie is young.
("Charlie" "is" "young" "+")
triple3
Dave is blue.
("Dave" "is" "blue" "+")
triple4
Dave is furry.
("Dave" "is" "furry" "+")
triple5
Dave is not rough.
("Dave" "is" "rough" "-")
triple6
((triple4) -> (rule4 % int1))
Dave is not rough.
("Dave" "is" "rough" "-")
int1
Dave is not round.
("Dave" "is" "round" "-")
triple7
((((triple5) -> (rule2 % int2))) -> (rule5 % int1))
Dave is not round.
("Dave" "is" "round" "-")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
((((((triple5) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Dave is not round.
("Dave" "is" "round" "-")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
triple8
((triple9) -> (rule3 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
triple9
Erin is rough.
("Erin" "is" "rough" "+")
triple10
Erin is young.
("Erin" "is" "young" "+")
triple11
Harry is not big.
("Harry" "is" "big" "-")
triple12
Harry is not blue.
("Harry" "is" "blue" "-")
triple13
Harry is not furry.
("Harry" "is" "furry" "-")
triple14
Harry is young.
("Harry" "is" "young" "+")
triple15
Charlie is big.
("Charlie" "is" "big" "+")
((triple1) -> (rule2 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
((((triple1) -> (rule6 % int2))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
((triple1) -> (rule6 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
((triple5) -> (rule2 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
((((triple5) -> (rule6 % int2))) -> (rule3 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
((triple5) -> (rule6 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Erin is not round.
("Erin" "is" "round" "-")
((triple8) -> (rule5 % int1))
Erin is not round.
("Erin" "is" "round" "-")
int1
((((triple9) -> (rule3 % int2))) -> (rule5 % int1))
Erin is not round.
("Erin" "is" "round" "-")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Charlie is not round.
("Charlie" "is" "round" "-")
((((triple1) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is not round.
("Charlie" "is" "round" "-")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
((((((triple1) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Charlie is not round.
("Charlie" "is" "round" "-")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3