Bob is furry. Charlie is blue. Fiona is young. Gary is cold. Young people are blue. Blue, kind people are cold. Blue people are kind. Furry, young people are quiet. If someone is blue and rough then they are furry. If someone is quiet and young then they are rough.
Bob is furry.
("Bob" "is" "furry" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Young people are blue.
((("someone" "is" "young" "+")) -> ("someone" "is" "blue" "+"))
Blue, kind people are cold.
((("someone" "is" "blue" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "cold" "+"))
Blue people are kind.
((("someone" "is" "blue" "+")) -> ("someone" "is" "kind" "+"))
Furry, young people are quiet.
((("someone" "is" "furry" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "quiet" "+"))
If someone is blue and rough then they are furry.
((("someone" "is" "blue" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "furry" "+"))
If someone is quiet and young then they are rough.
((("someone" "is" "quiet" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "rough" "+"))
Gary is cold.
True
1
proof
[(triple4)]
("Gary" "is" "cold" "+")
triple4
Fiona is not young.
False
1
inv-proof
[(triple3)]
("Fiona" "is" "young" "-")
triple3
Charlie is kind.
True
2
proof
[(((triple2) -> rule3))]
("Charlie" "is" "kind" "+")
((triple2) -> (rule3 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is not kind.
False
2
inv-proof
[(((triple2) -> rule3))]
("Charlie" "is" "kind" "-")
((triple2) -> (rule3 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is cold.
True
4
proof
[(((triple2 ((triple2) -> rule3)) -> rule2))]
("Charlie" "is" "cold" "+")
((triple2 ((triple2) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Fiona is not kind.
False
3
inv-proof
[(((((triple3) -> rule1)) -> rule3))]
("Fiona" "is" "kind" "-")
((((triple3) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is cold.
True
6
proof
[(((((triple3) -> rule1) ((((triple3) -> rule1)) -> rule3)) -> rule2))]
("Fiona" "is" "cold" "+")
((((triple3) -> (rule1 % int3)) ((((triple3) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is not cold.
False
6
inv-proof
[(((((triple3) -> rule1) ((((triple3) -> rule1)) -> rule3)) -> rule2))]
("Fiona" "is" "cold" "-")
((((triple3) -> (rule1 % int3)) ((((triple3) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Bob is not kind.
Unknown
inv-rconc
[@2: Bob is kind.[CWA. Example of deepest failure = (rule3 <- rule1 <- FAIL)]]
("Bob" "is" "kind" "-")
Gary is blue.
Unknown
rconc
[@1: Gary is blue.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Gary" "is" "blue" "+")
Gary is not rough.
Unknown
inv-rconc
[@1: Gary is rough.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Gary" "is" "rough" "-")
Gary is furry.
Unknown
rconc
[@2: Gary is furry.[CWA. Example of deepest failure = (rule5 <- rule1 <- FAIL)]]
("Gary" "is" "furry" "+")
Bob is not young.
Unknown
inv-random
[@0: Bob is young.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "young" "-")
Gary is young.
Unknown
random
[@0: Gary is young.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "young" "+")
@0: Bob is furry.[(triple1)] Charlie is blue.[(triple2)] Fiona is young.[(triple3)] Gary is cold.[(triple4)] @1: Charlie is kind.[(((triple2) -> rule3))] Fiona is blue.[(((triple3) -> rule1))] @2: Charlie is cold.[(((triple2 ((triple2) -> rule3)) -> rule2))] Fiona is kind.[(((((triple3) -> rule1)) -> rule3))] @3: Fiona is cold.[(((((triple3) -> rule1) ((((triple3) -> rule1)) -> rule3)) -> rule2))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
Charlie is blue.
("Charlie" "is" "blue" "+")
triple2
Fiona is young.
("Fiona" "is" "young" "+")
triple3
Gary is cold.
("Gary" "is" "cold" "+")
triple4
Charlie is kind.
("Charlie" "is" "kind" "+")
((triple2) -> (rule3 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple3) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
((triple2 ((triple2) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
((((triple3) -> (rule1 % int2))) -> (rule3 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
((((triple3) -> (rule1 % int3)) ((((triple3) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3