Bob is blue. Dave is cold. Fiona is rough. Gary is kind. If Bob is blue then Bob is young. All cold, kind people are big. If someone is white then they are kind. All young people are rough. Big, rough people are young. All rough, blue people are kind. All rough people are kind. All young people are cold.
Bob is blue.
("Bob" "is" "blue" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Gary is kind.
("Gary" "is" "kind" "+")
If Bob is blue then Bob is young.
((("Bob" "is" "blue" "+")) -> ("Bob" "is" "young" "+"))
All cold, kind people are big.
((("someone" "is" "cold" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "big" "+"))
If someone is white then they are kind.
((("someone" "is" "white" "+")) -> ("someone" "is" "kind" "+"))
All young people are rough.
((("someone" "is" "young" "+")) -> ("someone" "is" "rough" "+"))
Big, rough people are young.
((("someone" "is" "big" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "young" "+"))
All rough, blue people are kind.
((("someone" "is" "rough" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "kind" "+"))
All rough people are kind.
((("someone" "is" "rough" "+")) -> ("someone" "is" "kind" "+"))
All young people are cold.
((("someone" "is" "young" "+")) -> ("someone" "is" "cold" "+"))
Fiona is rough.
True
1
proof
[(triple3)]
("Fiona" "is" "rough" "+")
triple3
Bob is not blue.
False
1
inv-proof
[(triple1)]
("Bob" "is" "blue" "-")
triple1
Fiona is kind.
True
2
proof
[(((triple3) -> rule7))]
("Fiona" "is" "kind" "+")
((triple3) -> (rule7 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Bob is not young.
False
2
inv-proof
[(((triple1) -> rule1))]
("Bob" "is" "young" "-")
((triple1) -> (rule1 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is cold.
True
3
proof
[(((((triple1) -> rule1)) -> rule8))]
("Bob" "is" "cold" "+")
((((triple1) -> (rule1 % int2))) -> (rule8 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is not rough.
False
3
inv-proof
[(((((triple1) -> rule1)) -> rule4))]
("Bob" "is" "rough" "-")
((((triple1) -> (rule1 % int2))) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Gary is not young.
Unknown
inv-rconc
[@2: Gary is young.[CWA. Example of deepest failure = (rule5 <- rule4 <- FAIL)]]
("Gary" "is" "young" "-")
Fiona is young.
Unknown
rconc
[@3: Fiona is young.[CWA. Example of deepest failure = (rule5 <- rule2 <- rule8 <- FAIL)]]
("Fiona" "is" "young" "+")
Dave is not kind.
Unknown
inv-rconc
[@3: Dave is kind.[CWA. Example of deepest failure = (rule7 <- rule4 <- rule5 <- FAIL)]]
("Dave" "is" "kind" "-")
Fiona is white.
Unknown
random
[@0: Fiona is white.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "white" "+")
Gary is not blue.
Unknown
inv-random
[@0: Gary is blue.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "blue" "-")
Dave is blue.
Unknown
random
[@0: Dave is blue.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "blue" "+")
@0: Bob is blue.[(triple1)] Dave is cold.[(triple2)] Fiona is rough.[(triple3)] Gary is kind.[(triple4)] @1: Bob is young.[(((triple1) -> rule1))] Fiona is kind.[(((triple3) -> rule7))] @2: Bob is cold.[(((((triple1) -> rule1)) -> rule8))] Bob is rough.[(((((triple1) -> rule1)) -> rule4))] @3: Bob is kind.[(((((((triple1) -> rule1)) -> rule4)) -> rule7) OR ((((((triple1) -> rule1)) -> rule4) triple1) -> rule6))] @4: Bob is big.[(((((((triple1) -> rule1)) -> rule8) ((((((triple1) -> rule1)) -> rule4)) -> rule7)) -> rule2) OR ((((((triple1) -> rule1)) -> rule8) ((((((triple1) -> rule1)) -> rule4) triple1) -> rule6)) -> rule2))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Dave is cold.
("Dave" "is" "cold" "+")
triple2
Fiona is rough.
("Fiona" "is" "rough" "+")
triple3
Gary is kind.
("Gary" "is" "kind" "+")
triple4
Bob is young.
("Bob" "is" "young" "+")
((triple1) -> (rule1 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
((triple3) -> (rule7 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
((((triple1) -> (rule1 % int2))) -> (rule8 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
((((triple1) -> (rule1 % int2))) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
((((((triple1) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
((((((triple1) -> (rule1 % int3))) -> (rule4 % int2)) triple1) -> (rule6 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Bob is big.
("Bob" "is" "big" "+")
((((((triple1) -> (rule1 % int5))) -> (rule8 % int4)) ((((((triple1) -> (rule1 % int5))) -> (rule4 % int3))) -> (rule7 % int2))) -> (rule2 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Bob is cold.
("Bob" "is" "cold" "+")
int4
Bob is young.
("Bob" "is" "young" "+")
int5
((((((triple1) -> (rule1 % int5))) -> (rule8 % int4)) ((((((triple1) -> (rule1 % int5))) -> (rule4 % int3)) triple1) -> (rule6 % int2))) -> (rule2 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Bob is cold.
("Bob" "is" "cold" "+")
int4
Bob is young.
("Bob" "is" "young" "+")
int5