Bob is nice. Erin is red. Nice people are furry. All green people are not furry. If Erin is furry and Erin is not blue then Erin is not red. Green, blue people are nice. If someone is red then they are nice. All furry people are cold.
Bob is nice.
("Bob" "is" "nice" "+")
Erin is red.
("Erin" "is" "red" "+")
Nice people are furry.
((("someone" "is" "nice" "+")) -> ("someone" "is" "furry" "+"))
All green people are not furry.
((("someone" "is" "green" "+")) -> ("someone" "is" "furry" "-"))
If Erin is furry and Erin is not blue then Erin is not red.
((("Erin" "is" "furry" "+") ("Erin" "is" "blue" "~")) -> ("Erin" "is" "red" "-"))
Green, blue people are nice.
((("someone" "is" "green" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "nice" "+"))
If someone is red then they are nice.
((("someone" "is" "red" "+")) -> ("someone" "is" "nice" "+"))
All furry people are cold.
((("someone" "is" "furry" "+")) -> ("someone" "is" "cold" "+"))
Bob is nice.
True
1
proof
[(triple1)]
("Bob" "is" "nice" "+")
triple1
Bob is not nice.
False
1
inv-proof
[(triple1)]
("Bob" "is" "nice" "-")
triple1
Bob is furry.
True
2
proof
[(((triple1) -> rule1))]
("Bob" "is" "furry" "+")
((triple1) -> (rule1 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is not furry.
False
2
inv-proof
[(((triple1) -> rule1))]
("Bob" "is" "furry" "-")
((triple1) -> (rule1 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Erin is furry.
True
3
proof
[(((((triple2) -> rule5)) -> rule1))]
("Erin" "is" "furry" "+")
((((triple2) -> (rule5 % int2))) -> (rule1 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is not furry.
False
3
inv-proof
[(((((triple2) -> rule5)) -> rule1))]
("Erin" "is" "furry" "-")
((((triple2) -> (rule5 % int2))) -> (rule1 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is cold.
True
4
proof
[(((((((triple2) -> rule5)) -> rule1)) -> rule6))]
("Erin" "is" "cold" "+")
((((((triple2) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Erin is not cold.
False
4
inv-proof
[(((((((triple2) -> rule5)) -> rule1)) -> rule6))]
("Erin" "is" "cold" "-")
((((((triple2) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Erin is not blue.
Unknown
inv-random
[@0: Erin is blue.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "blue" "-")
Bob is green.
Unknown
random
[@0: Bob is green.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "green" "+")
Erin is not green.
Unknown
inv-random
[@0: Erin is green.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "green" "-")
Bob is blue.
Unknown
random
[@0: Bob is blue.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "blue" "+")
Bob is not red.
Unknown
inv-random
[@0: Bob is red.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "red" "-")
Bob is kind.
Unknown
random
[@0: Bob is kind.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "kind" "+")
@0: Bob is nice.[(triple1)] Erin is red.[(triple2)] @1: Bob is furry.[(((triple1) -> rule1))] Erin is nice.[(((triple2) -> rule5))] @2: Bob is cold.[(((((triple1) -> rule1)) -> rule6))] Erin is furry.[(((((triple2) -> rule5)) -> rule1))] @3: Erin is cold.[(((((((triple2) -> rule5)) -> rule1)) -> rule6))]
Bob is nice.
("Bob" "is" "nice" "+")
triple1
Erin is red.
("Erin" "is" "red" "+")
triple2
Bob is furry.
("Bob" "is" "furry" "+")
((triple1) -> (rule1 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
((triple2) -> (rule5 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
((((triple1) -> (rule1 % int2))) -> (rule6 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
((((triple2) -> (rule5 % int2))) -> (rule1 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
((((((triple2) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3