Bob is blue. Bob is red. Erin is red. Big, rough people are nice. If someone is nice and red then they are young. Big people are smart. Blue people are rough. All rough people are big. Big, rough people are nice. If Erin is nice and Erin is rough then Erin is smart. If Bob is young then Bob is blue.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is red.
("Bob" "is" "red" "+")
Erin is red.
("Erin" "is" "red" "+")
Big, rough people are nice.
((("someone" "is" "big" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "nice" "+"))
If someone is nice and red then they are young.
((("someone" "is" "nice" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "young" "+"))
Big people are smart.
((("someone" "is" "big" "+")) -> ("someone" "is" "smart" "+"))
Blue people are rough.
((("someone" "is" "blue" "+")) -> ("someone" "is" "rough" "+"))
All rough people are big.
((("someone" "is" "rough" "+")) -> ("someone" "is" "big" "+"))
Big, rough people are nice.
((("someone" "is" "big" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "nice" "+"))
If Erin is nice and Erin is rough then Erin is smart.
((("Erin" "is" "nice" "+") ("Erin" "is" "rough" "+")) -> ("Erin" "is" "smart" "+"))
If Bob is young then Bob is blue.
((("Bob" "is" "young" "+")) -> ("Bob" "is" "blue" "+"))
Erin is red.
True
1
proof
[(triple3)]
("Erin" "is" "red" "+")
triple3
Erin is not red.
False
1
inv-proof
[(triple3)]
("Erin" "is" "red" "-")
triple3
Erin is not young.
Unknown
inv-rconc
[@3: Erin is young.[CWA. Example of deepest failure = (rule2 <- rule1 <- rule4 <- FAIL)]]
("Erin" "is" "young" "-")
Erin is blue.
Unknown
random
[@0: Erin is blue.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "blue" "+")
@0: Bob is blue.[(triple1)] Bob is red.[(triple2)] Erin is red.[(triple3)] @1: Bob is rough.[(((triple1) -> rule4))] @2: Bob is big.[(((((triple1) -> rule4)) -> rule5))] @3: Bob is nice.[(((((((triple1) -> rule4)) -> rule5) ((triple1) -> rule4)) -> rule1) OR ((((((triple1) -> rule4)) -> rule5) ((triple1) -> rule4)) -> rule6))] Bob is smart.[(((((((triple1) -> rule4)) -> rule5)) -> rule3))] @4: Bob is young.[(((((((((triple1) -> rule4)) -> rule5) ((triple1) -> rule4)) -> rule1) triple2) -> rule2) OR ((((((((triple1) -> rule4)) -> rule5) ((triple1) -> rule4)) -> rule6) triple2) -> rule2))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Bob is red.
("Bob" "is" "red" "+")
triple2
Erin is red.
("Erin" "is" "red" "+")
triple3
Bob is rough.
("Bob" "is" "rough" "+")
((triple1) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
((((triple1) -> (rule4 % int2))) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
((((((triple1) -> (rule4 % int3))) -> (rule5 % int2)) ((triple1) -> (rule4 % int3))) -> (rule1 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
((((((triple1) -> (rule4 % int3))) -> (rule5 % int2)) ((triple1) -> (rule4 % int3))) -> (rule6 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
((((((triple1) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
((((((((triple1) -> (rule4 % int4))) -> (rule5 % int3)) ((triple1) -> (rule4 % int4))) -> (rule1 % int2)) triple2) -> (rule2 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
int4
((((((((triple1) -> (rule4 % int4))) -> (rule5 % int3)) ((triple1) -> (rule4 % int4))) -> (rule6 % int2)) triple2) -> (rule2 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
int4