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