Dave is furry. Dave is red. Erin is quiet. Fiona is blue. Fiona is cold. Fiona is nice. Harry is nice. If someone is nice then they are blue. All quiet people are nice. If someone is blue then they are nice. All furry, nice people are quiet. Furry people are red. All blue people are furry. All red people are round.
Dave is furry.
("Dave" "is" "furry" "+")
Dave is red.
("Dave" "is" "red" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Harry is nice.
("Harry" "is" "nice" "+")
If someone is nice then they are blue.
((("someone" "is" "nice" "+")) -> ("someone" "is" "blue" "+"))
All quiet people are nice.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "nice" "+"))
If someone is blue then they are nice.
((("someone" "is" "blue" "+")) -> ("someone" "is" "nice" "+"))
All furry, nice people are quiet.
((("someone" "is" "furry" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "quiet" "+"))
Furry people are red.
((("someone" "is" "furry" "+")) -> ("someone" "is" "red" "+"))
All blue people are furry.
((("someone" "is" "blue" "+")) -> ("someone" "is" "furry" "+"))
All red people are round.
((("someone" "is" "red" "+")) -> ("someone" "is" "round" "+"))
Dave is furry.
True
1
proof
[(triple1)]
("Dave" "is" "furry" "+")
triple1
Erin is not quiet.
False
1
inv-proof
[(triple3)]
("Erin" "is" "quiet" "-")
triple3
Dave is round.
True
2
proof
[(((triple2) -> rule7) OR ((((triple1) -> rule5)) -> rule7))]
("Dave" "is" "round" "+")
((triple2) -> (rule7 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
((((triple1) -> (rule5 % int2))) -> (rule7 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Fiona is not furry.
False
2
inv-proof
[(((triple4) -> rule6) OR ((((triple6) -> rule1)) -> rule6))]
("Fiona" "is" "furry" "-")
((triple4) -> (rule6 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((((triple6) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is red.
True
3
proof
[(((((triple4) -> rule6)) -> rule5) OR ((((((triple6) -> rule1)) -> rule6)) -> rule5))]
("Fiona" "is" "red" "+")
((((triple4) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((((((triple6) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Erin is not blue.
False
3
inv-proof
[(((((triple3) -> rule2)) -> rule1))]
("Erin" "is" "blue" "-")
((((triple3) -> (rule2 % int2))) -> (rule1 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Harry is quiet.
True
5
proof
[(((((((triple7) -> rule1)) -> rule6) triple7) -> rule4))]
("Harry" "is" "quiet" "+")
((((((triple7) -> (rule1 % int3))) -> (rule6 % int2)) triple7) -> (rule4 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is not quiet.
False
5
inv-proof
[(((((((triple7) -> rule1)) -> rule6) triple7) -> rule4))]
("Harry" "is" "quiet" "-")
((((((triple7) -> (rule1 % int3))) -> (rule6 % int2)) triple7) -> (rule4 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Erin is red.
True
5
proof
[(((((((((triple3) -> rule2)) -> rule1)) -> rule6)) -> rule5))]
("Erin" "is" "red" "+")
((((((((triple3) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Erin is nice.
("Erin" "is" "nice" "+")
int4
Harry is not round.
False
5
inv-proof
[(((((((((triple7) -> rule1)) -> rule6)) -> rule5)) -> rule7))]
("Harry" "is" "round" "-")
((((((((triple7) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Harry is blue.
("Harry" "is" "blue" "+")
int4
Erin is round.
True
6
proof
[(((((((((((triple3) -> rule2)) -> rule1)) -> rule6)) -> rule5)) -> rule7))]
("Erin" "is" "round" "+")
((((((((((triple3) -> (rule2 % int5))) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is blue.
("Erin" "is" "blue" "+")
int4
Erin is nice.
("Erin" "is" "nice" "+")
int5
Erin is not round.
False
6
inv-proof
[(((((((((((triple3) -> rule2)) -> rule1)) -> rule6)) -> rule5)) -> rule7))]
("Erin" "is" "round" "-")
((((((((((triple3) -> (rule2 % int5))) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is blue.
("Erin" "is" "blue" "+")
int4
Erin is nice.
("Erin" "is" "nice" "+")
int5
Dave is not quiet.
Unknown
inv-rconc
[@4: Dave is quiet.[CWA. Example of deepest failure = (rule4 <- rule3 <- rule1 <- rule2 <- FAIL)]]
("Dave" "is" "quiet" "-")
Dave is blue.
Unknown
rconc
[@4: Dave is blue.[CWA. Example of deepest failure = (rule1 <- rule2 <- rule4 <- rule3 <- FAIL)]]
("Dave" "is" "blue" "+")
Dave is not nice.
Unknown
inv-rconc
[@4: Dave is nice.[CWA. Example of deepest failure = (rule2 <- rule4 <- rule3 <- rule1 <- FAIL)]]
("Dave" "is" "nice" "-")
Harry is cold.
Unknown
random
[@0: Harry is cold.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "cold" "+")
Erin is not cold.
Unknown
inv-random
[@0: Erin is cold.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "cold" "-")
Dave is cold.
Unknown
random
[@0: Dave is cold.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "cold" "+")
@0: Dave is furry.[(triple1)] Dave is red.[(triple2 OR ((triple1) -> rule5))] Erin is quiet.[(triple3)] Fiona is blue.[(triple4 OR ((triple6) -> rule1))] Fiona is cold.[(triple5)] Fiona is nice.[(triple6 OR ((triple4) -> rule3))] Harry is nice.[(triple7)] @1: Dave is round.[(((triple2) -> rule7) OR ((((triple1) -> rule5)) -> rule7))] Erin is nice.[(((triple3) -> rule2))] Fiona is furry.[(((triple4) -> rule6) OR ((((triple6) -> rule1)) -> rule6))] Harry is blue.[(((triple7) -> rule1))] @2: Erin is blue.[(((((triple3) -> rule2)) -> rule1))] Fiona is quiet.[(((((triple4) -> rule6) triple6) -> rule4) OR ((((triple4) -> rule6) ((triple4) -> rule3)) -> rule4) OR ((((((triple6) -> rule1)) -> rule6) triple6) -> rule4) OR ((((((triple6) -> rule1)) -> rule6) ((triple4) -> rule3)) -> rule4))] Fiona is red.[(((((triple4) -> rule6)) -> rule5) OR ((((((triple6) -> rule1)) -> rule6)) -> rule5))] Harry is furry.[(((((triple7) -> rule1)) -> rule6))] @3: Erin is furry.[(((((((triple3) -> rule2)) -> rule1)) -> rule6))] Fiona is round.[(((((((triple4) -> rule6)) -> rule5)) -> rule7) OR ((((((((triple6) -> rule1)) -> rule6)) -> rule5)) -> rule7))] Harry is quiet.[(((((((triple7) -> rule1)) -> rule6) triple7) -> rule4))] Harry is red.[(((((((triple7) -> rule1)) -> rule6)) -> rule5))] @4: Erin is red.[(((((((((triple3) -> rule2)) -> rule1)) -> rule6)) -> rule5))] Harry is round.[(((((((((triple7) -> rule1)) -> rule6)) -> rule5)) -> rule7))] @5: Erin is round.[(((((((((((triple3) -> rule2)) -> rule1)) -> rule6)) -> rule5)) -> rule7))]
Dave is furry.
("Dave" "is" "furry" "+")
triple1
Dave is red.
("Dave" "is" "red" "+")
triple2
((triple1) -> (rule5 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
triple3
Fiona is blue.
("Fiona" "is" "blue" "+")
triple4
((triple6) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
triple5
Fiona is nice.
("Fiona" "is" "nice" "+")
triple6
((triple4) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
triple7
Dave is round.
("Dave" "is" "round" "+")
((triple2) -> (rule7 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
((((triple1) -> (rule5 % int2))) -> (rule7 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
((triple3) -> (rule2 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple4) -> (rule6 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((((triple6) -> (rule1 % int2))) -> (rule6 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
((triple7) -> (rule1 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
((((triple3) -> (rule2 % int2))) -> (rule1 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((((triple4) -> (rule6 % int2)) triple6) -> (rule4 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((((triple4) -> (rule6 % int3)) ((triple4) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
((((((triple6) -> (rule1 % int3))) -> (rule6 % int2)) triple6) -> (rule4 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
((((((triple6) -> (rule1 % int4))) -> (rule6 % int3)) ((triple4) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
Fiona is red.
("Fiona" "is" "red" "+")
((((triple4) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((((((triple6) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Harry is furry.
("Harry" "is" "furry" "+")
((((triple7) -> (rule1 % int2))) -> (rule6 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
((((((triple3) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Fiona is round.
("Fiona" "is" "round" "+")
((((((triple4) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
((((((((triple6) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
Harry is quiet.
("Harry" "is" "quiet" "+")
((((((triple7) -> (rule1 % int3))) -> (rule6 % int2)) triple7) -> (rule4 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
((((((triple7) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
((((((((triple3) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Erin is nice.
("Erin" "is" "nice" "+")
int4
Harry is round.
("Harry" "is" "round" "+")
((((((((triple7) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
int3
Harry is blue.
("Harry" "is" "blue" "+")
int4
Erin is round.
("Erin" "is" "round" "+")
((((((((((triple3) -> (rule2 % int5))) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is blue.
("Erin" "is" "blue" "+")
int4
Erin is nice.
("Erin" "is" "nice" "+")
int5