Bob is blue. Fiona is young. Harry is quiet. If something is quiet then it is red. Red things are not green. If something is blue then it is young. If Fiona is green then Fiona is blue. If Bob is quiet then Bob is not white. If something is quiet and not green then it is not round.
Bob is blue.
("Bob" "is" "blue" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
If something is quiet then it is red.
((("something" "is" "quiet" "+")) -> ("something" "is" "red" "+"))
Red things are not green.
((("something" "is" "red" "+")) -> ("something" "is" "green" "-"))
If something is blue then it is young.
((("something" "is" "blue" "+")) -> ("something" "is" "young" "+"))
If Fiona is green then Fiona is blue.
((("Fiona" "is" "green" "+")) -> ("Fiona" "is" "blue" "+"))
If Bob is quiet then Bob is not white.
((("Bob" "is" "quiet" "+")) -> ("Bob" "is" "white" "-"))
If something is quiet and not green then it is not round.
((("something" "is" "quiet" "+") ("something" "is" "green" "~")) -> ("something" "is" "round" "-"))
Fiona is young.
True
1
proof
[(triple2)]
("Fiona" "is" "young" "+")
triple2
Bob is not blue.
False
1
inv-proof
[(triple1)]
("Bob" "is" "blue" "-")
triple1
Bob is young.
True
2
proof
[(((triple1) -> rule3))]
("Bob" "is" "young" "+")
((triple1) -> (rule3 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is not young.
False
2
inv-proof
[(((triple1) -> rule3))]
("Bob" "is" "young" "-")
((triple1) -> (rule3 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Harry is not green.
True
3
proof
[(((((triple3) -> rule1)) -> rule2))]
("Harry" "is" "green" "-")
((((triple3) -> (rule1 % int2))) -> (rule2 % int1))
Harry is not green.
("Harry" "is" "green" "-")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is green.
False
3
inv-proof
[(((((triple3) -> rule1)) -> rule2))]
("Harry" "is" "green" "+")
((((triple3) -> (rule1 % int2))) -> (rule2 % int1))
Harry is not green.
("Harry" "is" "green" "-")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is not young.
Unknown
inv-rconc
[@1: Harry is young.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Harry" "is" "young" "-")
Bob is red.
Unknown
rconc
[@1: Bob is red.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Bob" "is" "red" "+")
Fiona is not blue.
Unknown
inv-rconc
[@1: Fiona is blue.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Fiona" "is" "blue" "-")
Fiona is round.
Unknown
random
[@0: Fiona is round.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "round" "+")
Harry is not blue.
Unknown
inv-random
[@0: Harry is blue.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "blue" "-")
Bob is round.
Unknown
random
[@0: Bob is round.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "round" "+")
@0: Bob is blue.[(triple1)] Fiona is young.[(triple2)] Harry is quiet.[(triple3)] @1: Bob is young.[(((triple1) -> rule3))] Harry is red.[(((triple3) -> rule1))] @2: Harry is not green.[(((((triple3) -> rule1)) -> rule2))] @3: Harry is not round.[(((triple3 ((((triple3) -> rule1)) -> rule2)) -> rule6))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Fiona is young.
("Fiona" "is" "young" "+")
triple2
Harry is quiet.
("Harry" "is" "quiet" "+")
triple3
Bob is young.
("Bob" "is" "young" "+")
((triple1) -> (rule3 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
((triple3) -> (rule1 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is not green.
("Harry" "is" "green" "-")
((((triple3) -> (rule1 % int2))) -> (rule2 % int1))
Harry is not green.
("Harry" "is" "green" "-")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is not round.
("Harry" "is" "round" "-")
((triple3 ((((triple3) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Harry is not round.
("Harry" "is" "round" "-")
int1
Harry is not green.
("Harry" "is" "green" "-")
int2
Harry is red.
("Harry" "is" "red" "+")
int3