Dave is blue. Fiona is blue. If someone is blue and kind then they are cold. All green, cold people are nice. If someone is blue then they are kind. Cold people are furry. All furry people are cold. If someone is furry then they are cold. If Fiona is green and Fiona is furry then Fiona is kind. All furry people are green.
Dave is blue.
("Dave" "is" "blue" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
If someone is blue and kind then they are cold.
((("someone" "is" "blue" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "cold" "+"))
All green, cold people are nice.
((("someone" "is" "green" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "nice" "+"))
If someone is blue then they are kind.
((("someone" "is" "blue" "+")) -> ("someone" "is" "kind" "+"))
Cold people are furry.
((("someone" "is" "cold" "+")) -> ("someone" "is" "furry" "+"))
All furry people are cold.
((("someone" "is" "furry" "+")) -> ("someone" "is" "cold" "+"))
If someone is furry then they are cold.
((("someone" "is" "furry" "+")) -> ("someone" "is" "cold" "+"))
If Fiona is green and Fiona is furry then Fiona is kind.
((("Fiona" "is" "green" "+") ("Fiona" "is" "furry" "+")) -> ("Fiona" "is" "kind" "+"))
All furry people are green.
((("someone" "is" "furry" "+")) -> ("someone" "is" "green" "+"))
Dave is blue.
True
1
proof
[(triple1)]
("Dave" "is" "blue" "+")
triple1
Dave is not blue.
False
1
inv-proof
[(triple1)]
("Dave" "is" "blue" "-")
triple1
Dave is kind.
True
2
proof
[(((triple1) -> rule3))]
("Dave" "is" "kind" "+")
((triple1) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is not kind.
False
2
inv-proof
[(((triple1) -> rule3))]
("Dave" "is" "kind" "-")
((triple1) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is cold.
True
4
proof
[(((triple1 ((triple1) -> rule3)) -> rule1))]
("Dave" "is" "cold" "+")
((triple1 ((triple1) -> (rule3 % int2))) -> (rule1 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Fiona is not cold.
False
4
inv-proof
[(((triple2 ((triple2) -> rule3)) -> rule1))]
("Fiona" "is" "cold" "-")
((triple2 ((triple2) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Dave is furry.
True
5
proof
[(((((triple1 ((triple1) -> rule3)) -> rule1)) -> rule4))]
("Dave" "is" "furry" "+")
((((triple1 ((triple1) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Fiona is not furry.
False
5
inv-proof
[(((((triple2 ((triple2) -> rule3)) -> rule1)) -> rule4))]
("Fiona" "is" "furry" "-")
((((triple2 ((triple2) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
Fiona is not rough.
Unknown
inv-random
[@0: Fiona is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "rough" "-")
Dave is rough.
Unknown
random
[@0: Dave is rough.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "rough" "+")
@0: Dave is blue.[(triple1)] Fiona is blue.[(triple2)] @1: Dave is kind.[(((triple1) -> rule3))] Fiona is kind.[(((triple2) -> rule3))] @2: Dave is cold.[(((triple1 ((triple1) -> rule3)) -> rule1))] Fiona is cold.[(((triple2 ((triple2) -> rule3)) -> rule1))] @3: Dave is furry.[(((((triple1 ((triple1) -> rule3)) -> rule1)) -> rule4))] Fiona is furry.[(((((triple2 ((triple2) -> rule3)) -> rule1)) -> rule4))] @4: Dave is green.[(((((((triple1 ((triple1) -> rule3)) -> rule1)) -> rule4)) -> rule8))] Fiona is green.[(((((((triple2 ((triple2) -> rule3)) -> rule1)) -> rule4)) -> rule8))] @5: Dave is nice.[(((((((((triple1 ((triple1) -> rule3)) -> rule1)) -> rule4)) -> rule8) ((triple1 ((triple1) -> rule3)) -> rule1)) -> rule2))] Fiona is nice.[(((((((((triple2 ((triple2) -> rule3)) -> rule1)) -> rule4)) -> rule8) ((triple2 ((triple2) -> rule3)) -> rule1)) -> rule2))]
Dave is blue.
("Dave" "is" "blue" "+")
triple1
Fiona is blue.
("Fiona" "is" "blue" "+")
triple2
Dave is kind.
("Dave" "is" "kind" "+")
((triple1) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
((triple2) -> (rule3 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
((triple1 ((triple1) -> (rule3 % int2))) -> (rule1 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
((triple2 ((triple2) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
((((triple1 ((triple1) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
((((triple2 ((triple2) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
Dave is green.
("Dave" "is" "green" "+")
((((((triple1 ((triple1) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule8 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is kind.
("Dave" "is" "kind" "+")
int4
Fiona is green.
("Fiona" "is" "green" "+")
((((((triple2 ((triple2) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule8 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
int3
Fiona is kind.
("Fiona" "is" "kind" "+")
int4
Dave is nice.
("Dave" "is" "nice" "+")
((((((((triple1 ((triple1) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule8 % int2)) ((triple1 ((triple1) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
int4
Dave is kind.
("Dave" "is" "kind" "+")
int5
Fiona is nice.
("Fiona" "is" "nice" "+")
((((((((triple2 ((triple2) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule8 % int2)) ((triple2 ((triple2) -> (rule3 % int5))) -> (rule1 % int4))) -> (rule2 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
int4
Fiona is kind.
("Fiona" "is" "kind" "+")
int5