Bob is blue. Bob is rough. Bob is young. Dave is green. Dave is kind. Dave is young. Fiona is blue. Fiona is green. Fiona is round. Fiona is young. Gary is cold. Rough, round people are blue. If someone is young then they are round. If Gary is green and Gary is blue then Gary is rough. If someone is green and round then they are blue. All cold, green people are young. Cold people are green. All kind, green people are blue.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is young.
("Bob" "is" "young" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is young.
("Dave" "is" "young" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Rough, round people are blue.
((("someone" "is" "rough" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "blue" "+"))
If someone is young then they are round.
((("someone" "is" "young" "+")) -> ("someone" "is" "round" "+"))
If Gary is green and Gary is blue then Gary is rough.
((("Gary" "is" "green" "+") ("Gary" "is" "blue" "+")) -> ("Gary" "is" "rough" "+"))
If someone is green and round then they are blue.
((("someone" "is" "green" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "blue" "+"))
All cold, green people are young.
((("someone" "is" "cold" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "young" "+"))
Cold people are green.
((("someone" "is" "cold" "+")) -> ("someone" "is" "green" "+"))
All kind, green people are blue.
((("someone" "is" "kind" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "blue" "+"))
Bob is blue.
True
1
proof
[(triple1 OR ((triple2 ((triple3) -> rule2)) -> rule1))]
("Bob" "is" "blue" "+")
triple1
((triple2 ((triple3) -> (rule2 % int2))) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Dave is not green.
False
1
inv-proof
[(triple4)]
("Dave" "is" "green" "-")
triple4
Gary is green.
True
2
proof
[(((triple11) -> rule6))]
("Gary" "is" "green" "+")
((triple11) -> (rule6 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Dave is not round.
False
2
inv-proof
[(((triple6) -> rule2))]
("Dave" "is" "round" "-")
((triple6) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Gary is young.
True
4
proof
[(((triple11 ((triple11) -> rule6)) -> rule5))]
("Gary" "is" "young" "+")
((triple11 ((triple11) -> (rule6 % int2))) -> (rule5 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is not young.
False
4
inv-proof
[(((triple11 ((triple11) -> rule6)) -> rule5))]
("Gary" "is" "young" "-")
((triple11 ((triple11) -> (rule6 % int2))) -> (rule5 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is round.
True
5
proof
[(((((triple11 ((triple11) -> rule6)) -> rule5)) -> rule2))]
("Gary" "is" "round" "+")
((((triple11 ((triple11) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Gary is not round.
False
5
inv-proof
[(((((triple11 ((triple11) -> rule6)) -> rule5)) -> rule2))]
("Gary" "is" "round" "-")
((((triple11 ((triple11) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Gary is blue.
True
8
proof
[(((((triple11) -> rule6) ((((triple11 ((triple11) -> rule6)) -> rule5)) -> rule2)) -> rule4))]
("Gary" "is" "blue" "+")
((((triple11) -> (rule6 % int4)) ((((triple11 ((triple11) -> (rule6 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is green.
("Gary" "is" "green" "+")
int4
Gary is not blue.
False
8
inv-proof
[(((((triple11) -> rule6) ((((triple11 ((triple11) -> rule6)) -> rule5)) -> rule2)) -> rule4))]
("Gary" "is" "blue" "-")
((((triple11) -> (rule6 % int4)) ((((triple11 ((triple11) -> (rule6 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is green.
("Gary" "is" "green" "+")
int4
Gary is rough.
True
11
proof
[(((((triple11) -> rule6) ((((triple11) -> rule6) ((((triple11 ((triple11) -> rule6)) -> rule5)) -> rule2)) -> rule4)) -> rule3))]
("Gary" "is" "rough" "+")
((((triple11) -> (rule6 % int5)) ((((triple11) -> (rule6 % int5)) ((((triple11 ((triple11) -> (rule6 % int5))) -> (rule5 % int4))) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
Gary is green.
("Gary" "is" "green" "+")
int5
Gary is not rough.
False
11
inv-proof
[(((((triple11) -> rule6) ((((triple11) -> rule6) ((((triple11 ((triple11) -> rule6)) -> rule5)) -> rule2)) -> rule4)) -> rule3))]
("Gary" "is" "rough" "-")
((((triple11) -> (rule6 % int5)) ((((triple11) -> (rule6 % int5)) ((((triple11 ((triple11) -> (rule6 % int5))) -> (rule5 % int4))) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
Gary is green.
("Gary" "is" "green" "+")
int5
Bob is not green.
Unknown
inv-rconc
[@1: Bob is green.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Bob" "is" "green" "-")
Bob is kind.
Unknown
random
[@0: Bob is kind.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "kind" "+")
Fiona is not cold.
Unknown
inv-random
[@0: Fiona is cold.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "cold" "-")
Dave is rough.
Unknown
random
[@0: Dave is rough.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "rough" "+")
Dave is not cold.
Unknown
inv-random
[@0: Dave is cold.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "cold" "-")
Fiona is kind.
Unknown
random
[@0: Fiona is kind.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "kind" "+")
Gary is not kind.
Unknown
inv-random
[@0: Gary is kind.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "kind" "-")
Fiona is rough.
Unknown
random
[@0: Fiona is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "rough" "+")
@0: Bob is blue.[(triple1 OR ((triple2 ((triple3) -> rule2)) -> rule1))] Bob is rough.[(triple2)] Bob is young.[(triple3)] Dave is green.[(triple4)] Dave is kind.[(triple5)] Dave is young.[(triple6)] Fiona is blue.[(triple7 OR ((triple8 triple9) -> rule4) OR ((triple8 ((triple10) -> rule2)) -> rule4))] Fiona is green.[(triple8)] Fiona is round.[(triple9 OR ((triple10) -> rule2))] Fiona is young.[(triple10)] Gary is cold.[(triple11)] @1: Bob is round.[(((triple3) -> rule2))] Dave is blue.[(((triple5 triple4) -> rule7) OR ((triple4 ((triple6) -> rule2)) -> rule4))] Dave is round.[(((triple6) -> rule2))] Gary is green.[(((triple11) -> rule6))] @2: Gary is young.[(((triple11 ((triple11) -> rule6)) -> rule5))] @3: Gary is round.[(((((triple11 ((triple11) -> rule6)) -> rule5)) -> rule2))] @4: Gary is blue.[(((((triple11) -> rule6) ((((triple11 ((triple11) -> rule6)) -> rule5)) -> rule2)) -> rule4))] @5: Gary is rough.[(((((triple11) -> rule6) ((((triple11) -> rule6) ((((triple11 ((triple11) -> rule6)) -> rule5)) -> rule2)) -> rule4)) -> rule3))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
((triple2 ((triple3) -> (rule2 % int2))) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
triple2
Bob is young.
("Bob" "is" "young" "+")
triple3
Dave is green.
("Dave" "is" "green" "+")
triple4
Dave is kind.
("Dave" "is" "kind" "+")
triple5
Dave is young.
("Dave" "is" "young" "+")
triple6
Fiona is blue.
("Fiona" "is" "blue" "+")
triple7
((triple8 triple9) -> (rule4 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((triple8 ((triple10) -> (rule2 % int2))) -> (rule4 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
triple8
Fiona is round.
("Fiona" "is" "round" "+")
triple9
((triple10) -> (rule2 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
triple10
Gary is cold.
("Gary" "is" "cold" "+")
triple11
Bob is round.
("Bob" "is" "round" "+")
((triple3) -> (rule2 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
((triple5 triple4) -> (rule7 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((triple4 ((triple6) -> (rule2 % int2))) -> (rule4 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
((triple6) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
((triple11) -> (rule6 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
((triple11 ((triple11) -> (rule6 % int2))) -> (rule5 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
((((triple11 ((triple11) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Gary is blue.
("Gary" "is" "blue" "+")
((((triple11) -> (rule6 % int4)) ((((triple11 ((triple11) -> (rule6 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is green.
("Gary" "is" "green" "+")
int4
Gary is rough.
("Gary" "is" "rough" "+")
((((triple11) -> (rule6 % int5)) ((((triple11) -> (rule6 % int5)) ((((triple11 ((triple11) -> (rule6 % int5))) -> (rule5 % int4))) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
Gary is green.
("Gary" "is" "green" "+")
int5