Bob is cold. Bob is nice. Bob is white. Bob is young. Dave is cold. Dave is nice. Dave is round. Dave is white. Fiona is cold. Fiona is round. Fiona is smart. Fiona is white. Fiona is young. Harry is cold. Harry is smart. Harry is young. All blue people are round. Smart people are nice. Young, round people are white. If someone is young then they are white. If Fiona is round then Fiona is cold. If someone is nice and young then they are blue.
Bob is cold.
("Bob" "is" "cold" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is white.
("Bob" "is" "white" "+")
Bob is young.
("Bob" "is" "young" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is round.
("Dave" "is" "round" "+")
Dave is white.
("Dave" "is" "white" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is smart.
("Harry" "is" "smart" "+")
Harry is young.
("Harry" "is" "young" "+")
All blue people are round.
((("someone" "is" "blue" "+")) -> ("someone" "is" "round" "+"))
Smart people are nice.
((("someone" "is" "smart" "+")) -> ("someone" "is" "nice" "+"))
Young, round people are white.
((("someone" "is" "young" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "white" "+"))
If someone is young then they are white.
((("someone" "is" "young" "+")) -> ("someone" "is" "white" "+"))
If Fiona is round then Fiona is cold.
((("Fiona" "is" "round" "+")) -> ("Fiona" "is" "cold" "+"))
If someone is nice and young then they are blue.
((("someone" "is" "nice" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "blue" "+"))
Harry is smart.
True
1
proof
[(triple15)]
("Harry" "is" "smart" "+")
triple15
Fiona is not young.
False
1
inv-proof
[(triple13)]
("Fiona" "is" "young" "-")
triple13
Harry is white.
True
2
proof
[(((triple16) -> rule4) OR ((triple16 ((((((triple15) -> rule2) triple16) -> rule6)) -> rule1)) -> rule3))]
("Harry" "is" "white" "+")
((triple16) -> (rule4 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
((triple16 ((((((triple15) -> (rule2 % int4)) triple16) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
int4
Bob is not blue.
False
3
inv-proof
[(((triple2 triple4) -> rule6))]
("Bob" "is" "blue" "-")
((triple2 triple4) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is round.
True
4
proof
[(((((triple2 triple4) -> rule6)) -> rule1))]
("Bob" "is" "round" "+")
((((triple2 triple4) -> (rule6 % int2))) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Harry is not blue.
False
4
inv-proof
[(((((triple15) -> rule2) triple16) -> rule6))]
("Harry" "is" "blue" "-")
((((triple15) -> (rule2 % int2)) triple16) -> (rule6 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is round.
True
5
proof
[(((((((triple15) -> rule2) triple16) -> rule6)) -> rule1))]
("Harry" "is" "round" "+")
((((((triple15) -> (rule2 % int3)) triple16) -> (rule6 % int2))) -> (rule1 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
int3
Harry is not round.
False
5
inv-proof
[(((((((triple15) -> rule2) triple16) -> rule6)) -> rule1))]
("Harry" "is" "round" "-")
((((((triple15) -> (rule2 % int3)) triple16) -> (rule6 % int2))) -> (rule1 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
int3
Dave is not blue.
Unknown
inv-rconc
[@1: Dave is blue.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Dave" "is" "blue" "-")
Dave is young.
Unknown
random
[@0: Dave is young.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "young" "+")
Bob is not smart.
Unknown
inv-random
[@0: Bob is smart.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "smart" "-")
Dave is smart.
Unknown
random
[@0: Dave is smart.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "smart" "+")
@0: Bob is cold.[(triple1)] Bob is nice.[(triple2)] Bob is white.[(triple3 OR ((triple4) -> rule4) OR ((triple4 ((((triple2 triple4) -> rule6)) -> rule1)) -> rule3))] Bob is young.[(triple4)] Dave is cold.[(triple5)] Dave is nice.[(triple6)] Dave is round.[(triple7)] Dave is white.[(triple8)] Fiona is cold.[(triple9 OR ((triple10) -> rule5) OR ((((((((triple11) -> rule2) triple13) -> rule6)) -> rule1)) -> rule5))] Fiona is round.[(triple10 OR ((((((triple11) -> rule2) triple13) -> rule6)) -> rule1))] Fiona is smart.[(triple11)] Fiona is white.[(triple12 OR ((triple13) -> rule4) OR ((triple13 triple10) -> rule3) OR ((triple13 ((((((triple11) -> rule2) triple13) -> rule6)) -> rule1)) -> rule3))] Fiona is young.[(triple13)] Harry is cold.[(triple14)] Harry is smart.[(triple15)] Harry is young.[(triple16)] @1: Bob is blue.[(((triple2 triple4) -> rule6))] Fiona is nice.[(((triple11) -> rule2))] Harry is nice.[(((triple15) -> rule2))] Harry is white.[(((triple16) -> rule4) OR ((triple16 ((((((triple15) -> rule2) triple16) -> rule6)) -> rule1)) -> rule3))] @2: Bob is round.[(((((triple2 triple4) -> rule6)) -> rule1))] Fiona is blue.[(((((triple11) -> rule2) triple13) -> rule6))] Harry is blue.[(((((triple15) -> rule2) triple16) -> rule6))] @3: Harry is round.[(((((((triple15) -> rule2) triple16) -> rule6)) -> rule1))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
Bob is nice.
("Bob" "is" "nice" "+")
triple2
Bob is white.
("Bob" "is" "white" "+")
triple3
((triple4) -> (rule4 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
((triple4 ((((triple2 triple4) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
triple4
Dave is cold.
("Dave" "is" "cold" "+")
triple5
Dave is nice.
("Dave" "is" "nice" "+")
triple6
Dave is round.
("Dave" "is" "round" "+")
triple7
Dave is white.
("Dave" "is" "white" "+")
triple8
Fiona is cold.
("Fiona" "is" "cold" "+")
triple9
((triple10) -> (rule5 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
((((((((triple11) -> (rule2 % int4)) triple13) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
Fiona is round.
("Fiona" "is" "round" "+")
triple10
((((((triple11) -> (rule2 % int3)) triple13) -> (rule6 % int2))) -> (rule1 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
triple11
Fiona is white.
("Fiona" "is" "white" "+")
triple12
((triple13) -> (rule4 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
((triple13 triple10) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
((triple13 ((((((triple11) -> (rule2 % int4)) triple13) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
Fiona is young.
("Fiona" "is" "young" "+")
triple13
Harry is cold.
("Harry" "is" "cold" "+")
triple14
Harry is smart.
("Harry" "is" "smart" "+")
triple15
Harry is young.
("Harry" "is" "young" "+")
triple16
Bob is blue.
("Bob" "is" "blue" "+")
((triple2 triple4) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple11) -> (rule2 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
((triple15) -> (rule2 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
((triple16) -> (rule4 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
((triple16 ((((((triple15) -> (rule2 % int4)) triple16) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
int4
Bob is round.
("Bob" "is" "round" "+")
((((triple2 triple4) -> (rule6 % int2))) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
((((triple11) -> (rule2 % int2)) triple13) -> (rule6 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
((((triple15) -> (rule2 % int2)) triple16) -> (rule6 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
((((((triple15) -> (rule2 % int3)) triple16) -> (rule6 % int2))) -> (rule1 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
int3