Bob is young. Fiona is not young. If Fiona is round and Fiona is not young then Fiona is green. All rough people are round. If someone is rough and green then they are blue. All young people are rough. If Bob is round and Bob is not rough then Bob is blue. If Fiona is nice and Fiona is not green then Fiona is blue. Young, round people are kind. If someone is green and not round then they are not kind.
Bob is young.
("Bob" "is" "young" "+")
Fiona is not young.
("Fiona" "is" "young" "-")
If Fiona is round and Fiona is not young then Fiona is green.
((("Fiona" "is" "round" "+") ("Fiona" "is" "young" "~")) -> ("Fiona" "is" "green" "+"))
All rough people are round.
((("someone" "is" "rough" "+")) -> ("someone" "is" "round" "+"))
If someone is rough and green then they are blue.
((("someone" "is" "rough" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "blue" "+"))
All young people are rough.
((("someone" "is" "young" "+")) -> ("someone" "is" "rough" "+"))
If Bob is round and Bob is not rough then Bob is blue.
((("Bob" "is" "round" "+") ("Bob" "is" "rough" "~")) -> ("Bob" "is" "blue" "+"))
If Fiona is nice and Fiona is not green then Fiona is blue.
((("Fiona" "is" "nice" "+") ("Fiona" "is" "green" "~")) -> ("Fiona" "is" "blue" "+"))
Young, round people are kind.
((("someone" "is" "young" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "kind" "+"))
If someone is green and not round then they are not kind.
((("someone" "is" "green" "+") ("someone" "is" "round" "~")) -> ("someone" "is" "kind" "-"))
Bob is young.
True
1
proof
[(triple1)]
("Bob" "is" "young" "+")
triple1
Fiona is young.
False
1
inv-proof
[(triple2)]
("Fiona" "is" "young" "+")
triple2
Fiona is not blue.
Unknown
inv-rconc
[@2: Fiona is blue.[CWA. Example of deepest failure = (rule3 <- rule4 <- FAIL)]]
("Fiona" "is" "blue" "-")
Bob is green.
Unknown
random
[@0: Bob is green.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "green" "+")
@0: Bob is young.[(triple1)] Fiona is not young.[(triple2)] @1: Bob is rough.[(((triple1) -> rule4))] @2: Bob is round.[(((((triple1) -> rule4)) -> rule2))] @3: Bob is kind.[(((triple1 ((((triple1) -> rule4)) -> rule2)) -> rule7))]
Bob is young.
("Bob" "is" "young" "+")
triple1
Fiona is not young.
("Fiona" "is" "young" "-")
triple2
Bob is rough.
("Bob" "is" "rough" "+")
((triple1) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
((((triple1) -> (rule4 % int2))) -> (rule2 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
((triple1 ((((triple1) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3