Bob is young. Fiona is cold. Harry is kind. Kind people are blue. All cold, young people are kind. Cold people are young. All white, round people are blue. If someone is rough then they are kind. If someone is round then they are young.
Bob is young.
("Bob" "is" "young" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Kind people are blue.
((("someone" "is" "kind" "+")) -> ("someone" "is" "blue" "+"))
All cold, young people are kind.
((("someone" "is" "cold" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "kind" "+"))
Cold people are young.
((("someone" "is" "cold" "+")) -> ("someone" "is" "young" "+"))
All white, round people are blue.
((("someone" "is" "white" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "blue" "+"))
If someone is rough then they are kind.
((("someone" "is" "rough" "+")) -> ("someone" "is" "kind" "+"))
If someone is round then they are young.
((("someone" "is" "round" "+")) -> ("someone" "is" "young" "+"))
Harry is kind.
True
1
proof
[(triple3)]
("Harry" "is" "kind" "+")
triple3
Harry is not kind.
False
1
inv-proof
[(triple3)]
("Harry" "is" "kind" "-")
triple3
Harry is blue.
True
2
proof
[(((triple3) -> rule1))]
("Harry" "is" "blue" "+")
((triple3) -> (rule1 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Fiona is not young.
False
2
inv-proof
[(((triple2) -> rule3))]
("Fiona" "is" "young" "-")
((triple2) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is kind.
True
4
proof
[(((triple2 ((triple2) -> rule3)) -> rule2))]
("Fiona" "is" "kind" "+")
((triple2 ((triple2) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is not kind.
False
4
inv-proof
[(((triple2 ((triple2) -> rule3)) -> rule2))]
("Fiona" "is" "kind" "-")
((triple2 ((triple2) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Bob is not blue.
Unknown
inv-rconc
[@2: Bob is blue.[CWA. Example of deepest failure = (rule1 <- rule2 <- FAIL)]]
("Bob" "is" "blue" "-")
Harry is young.
Unknown
rconc
[@1: Harry is young.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Harry" "is" "young" "+")
Bob is not kind.
Unknown
inv-rconc
[@1: Bob is kind.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "kind" "-")
Harry is round.
Unknown
random
[@0: Harry is round.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "round" "+")
Harry is not cold.
Unknown
inv-random
[@0: Harry is cold.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "cold" "-")
Bob is cold.
Unknown
random
[@0: Bob is cold.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "cold" "+")
@0: Bob is young.[(triple1)] Fiona is cold.[(triple2)] Harry is kind.[(triple3)] @1: Fiona is young.[(((triple2) -> rule3))] Harry is blue.[(((triple3) -> rule1))] @2: Fiona is kind.[(((triple2 ((triple2) -> rule3)) -> rule2))] @3: Fiona is blue.[(((((triple2 ((triple2) -> rule3)) -> rule2)) -> rule1))]
Bob is young.
("Bob" "is" "young" "+")
triple1
Fiona is cold.
("Fiona" "is" "cold" "+")
triple2
Harry is kind.
("Harry" "is" "kind" "+")
triple3
Fiona is young.
("Fiona" "is" "young" "+")
((triple2) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
((triple3) -> (rule1 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
((triple2 ((triple2) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
((((triple2 ((triple2) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3