Bob is round. Fiona is not white. Gary is nice. Harry is red. Furry things are red. If something is nice then it is furry. If something is red then it is round.
Bob is round.
("Bob" "is" "round" "+")
Fiona is not white.
("Fiona" "is" "white" "-")
Gary is nice.
("Gary" "is" "nice" "+")
Harry is red.
("Harry" "is" "red" "+")
Furry things are red.
((("something" "is" "furry" "+")) -> ("something" "is" "red" "+"))
If something is nice then it is furry.
((("something" "is" "nice" "+")) -> ("something" "is" "furry" "+"))
If something is red then it is round.
((("something" "is" "red" "+")) -> ("something" "is" "round" "+"))
Harry is red.
True
1
proof
[(triple4)]
("Harry" "is" "red" "+")
triple4
Bob is not round.
False
1
inv-proof
[(triple1)]
("Bob" "is" "round" "-")
triple1
Gary is furry.
True
2
proof
[(((triple3) -> rule2))]
("Gary" "is" "furry" "+")
((triple3) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Harry is not round.
False
2
inv-proof
[(((triple4) -> rule3))]
("Harry" "is" "round" "-")
((triple4) -> (rule3 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Gary is red.
True
3
proof
[(((((triple3) -> rule2)) -> rule1))]
("Gary" "is" "red" "+")
((((triple3) -> (rule2 % int2))) -> (rule1 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is not red.
False
3
inv-proof
[(((((triple3) -> rule2)) -> rule1))]
("Gary" "is" "red" "-")
((((triple3) -> (rule2 % int2))) -> (rule1 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is round.
True
4
proof
[(((((((triple3) -> rule2)) -> rule1)) -> rule3))]
("Gary" "is" "round" "+")
((((((triple3) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Gary is not round.
False
4
inv-proof
[(((((((triple3) -> rule2)) -> rule1)) -> rule3))]
("Gary" "is" "round" "-")
((((((triple3) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Bob is not furry.
Unknown
inv-rconc
[@1: Bob is furry.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "furry" "-")
Fiona is round.
Unknown
rconc
[@3: Fiona is round.[CWA. Example of deepest failure = (rule3 <- rule1 <- rule2 <- FAIL)]]
("Fiona" "is" "round" "+")
Fiona is not furry.
Unknown
inv-rconc
[@1: Fiona is furry.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Fiona" "is" "furry" "-")
Bob is red.
Unknown
rconc
[@2: Bob is red.[CWA. Example of deepest failure = (rule1 <- rule2 <- FAIL)]]
("Bob" "is" "red" "+")
Harry is not nice.
Unknown
inv-random
[@0: Harry is nice.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "nice" "-")
Gary is white.
Unknown
random
[@0: Gary is white.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "white" "+")
Harry is not young.
Unknown
inv-random
[@0: Harry is young.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "young" "-")
Harry is white.
Unknown
random
[@0: Harry is white.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "white" "+")
@0: Bob is round.[(triple1)] Fiona is not white.[(triple2)] Gary is nice.[(triple3)] Harry is red.[(triple4)] @1: Gary is furry.[(((triple3) -> rule2))] Harry is round.[(((triple4) -> rule3))] @2: Gary is red.[(((((triple3) -> rule2)) -> rule1))] @3: Gary is round.[(((((((triple3) -> rule2)) -> rule1)) -> rule3))]
Bob is round.
("Bob" "is" "round" "+")
triple1
Fiona is not white.
("Fiona" "is" "white" "-")
triple2
Gary is nice.
("Gary" "is" "nice" "+")
triple3
Harry is red.
("Harry" "is" "red" "+")
triple4
Gary is furry.
("Gary" "is" "furry" "+")
((triple3) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
((triple4) -> (rule3 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
((((triple3) -> (rule2 % int2))) -> (rule1 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
((((((triple3) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3