Bob is nice. Bob is red. Dave is green. Dave is nice. Dave is round. Dave is young. Erin is nice. Erin is round. Erin is young. Fiona is green. Fiona is nice. Fiona is round. If something is young and red then it is round. All red things are young. Round things are cold.
Bob is nice.
("Bob" "is" "nice" "+")
Bob is red.
("Bob" "is" "red" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is round.
("Dave" "is" "round" "+")
Dave is young.
("Dave" "is" "young" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is round.
("Erin" "is" "round" "+")
Erin is young.
("Erin" "is" "young" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is round.
("Fiona" "is" "round" "+")
If something is young and red then it is round.
((("something" "is" "young" "+") ("something" "is" "red" "+")) -> ("something" "is" "round" "+"))
All red things are young.
((("something" "is" "red" "+")) -> ("something" "is" "young" "+"))
Round things are cold.
((("something" "is" "round" "+")) -> ("something" "is" "cold" "+"))
Fiona is green.
True
1
proof
[(triple10)]
("Fiona" "is" "green" "+")
triple10
Fiona is not nice.
False
1
inv-proof
[(triple11)]
("Fiona" "is" "nice" "-")
triple11
Fiona is cold.
True
2
proof
[(((triple12) -> rule3))]
("Fiona" "is" "cold" "+")
((triple12) -> (rule3 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Dave is not cold.
False
2
inv-proof
[(((triple5) -> rule3))]
("Dave" "is" "cold" "-")
((triple5) -> (rule3 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Bob is round.
True
4
proof
[(((((triple2) -> rule2) triple2) -> rule1))]
("Bob" "is" "round" "+")
((((triple2) -> (rule2 % int2)) triple2) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is not round.
False
4
inv-proof
[(((((triple2) -> rule2) triple2) -> rule1))]
("Bob" "is" "round" "-")
((((triple2) -> (rule2 % int2)) triple2) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is cold.
True
5
proof
[(((((((triple2) -> rule2) triple2) -> rule1)) -> rule3))]
("Bob" "is" "cold" "+")
((((((triple2) -> (rule2 % int3)) triple2) -> (rule1 % int2))) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Bob is not cold.
False
5
inv-proof
[(((((((triple2) -> rule2) triple2) -> rule1)) -> rule3))]
("Bob" "is" "cold" "-")
((((((triple2) -> (rule2 % int3)) triple2) -> (rule1 % int2))) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Fiona is not young.
Unknown
inv-rconc
[@1: Fiona is young.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Fiona" "is" "young" "-")
Bob is rough.
Unknown
random
[@0: Bob is rough.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "rough" "+")
Erin is not rough.
Unknown
inv-random
[@0: Erin is rough.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "rough" "-")
Erin is green.
Unknown
random
[@0: Erin is green.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "green" "+")
Bob is not green.
Unknown
inv-random
[@0: Bob is green.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "green" "-")
Dave is red.
Unknown
random
[@0: Dave is red.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "red" "+")
Fiona is not rough.
Unknown
inv-random
[@0: Fiona is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "rough" "-")
Erin is red.
Unknown
random
[@0: Erin is red.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "red" "+")
@0: Bob is nice.[(triple1)] Bob is red.[(triple2)] Dave is green.[(triple3)] Dave is nice.[(triple4)] Dave is round.[(triple5)] Dave is young.[(triple6)] Erin is nice.[(triple7)] Erin is round.[(triple8)] Erin is young.[(triple9)] Fiona is green.[(triple10)] Fiona is nice.[(triple11)] Fiona is round.[(triple12)] @1: Bob is young.[(((triple2) -> rule2))] Dave is cold.[(((triple5) -> rule3))] Erin is cold.[(((triple8) -> rule3))] Fiona is cold.[(((triple12) -> rule3))] @2: Bob is round.[(((((triple2) -> rule2) triple2) -> rule1))] @3: Bob is cold.[(((((((triple2) -> rule2) triple2) -> rule1)) -> rule3))]
Bob is nice.
("Bob" "is" "nice" "+")
triple1
Bob is red.
("Bob" "is" "red" "+")
triple2
Dave is green.
("Dave" "is" "green" "+")
triple3
Dave is nice.
("Dave" "is" "nice" "+")
triple4
Dave is round.
("Dave" "is" "round" "+")
triple5
Dave is young.
("Dave" "is" "young" "+")
triple6
Erin is nice.
("Erin" "is" "nice" "+")
triple7
Erin is round.
("Erin" "is" "round" "+")
triple8
Erin is young.
("Erin" "is" "young" "+")
triple9
Fiona is green.
("Fiona" "is" "green" "+")
triple10
Fiona is nice.
("Fiona" "is" "nice" "+")
triple11
Fiona is round.
("Fiona" "is" "round" "+")
triple12
Bob is young.
("Bob" "is" "young" "+")
((triple2) -> (rule2 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
((triple5) -> (rule3 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
((triple8) -> (rule3 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
((triple12) -> (rule3 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
((((triple2) -> (rule2 % int2)) triple2) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
((((((triple2) -> (rule2 % int3)) triple2) -> (rule1 % int2))) -> (rule3 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3