Bob is not rough. Bob is not smart. Fiona is cold. Fiona is smart. Gary is quiet. Gary is rough. Harry is kind. If someone is rough then they are green. All cold people are quiet. All cold, round people are rough. If someone is smart and not cold then they are rough. All quiet people are round. If someone is green then they are round. All green, quiet people are not kind.
Bob is not rough.
("Bob" "is" "rough" "-")
Bob is not smart.
("Bob" "is" "smart" "-")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Harry is kind.
("Harry" "is" "kind" "+")
If someone is rough then they are green.
((("someone" "is" "rough" "+")) -> ("someone" "is" "green" "+"))
All cold people are quiet.
((("someone" "is" "cold" "+")) -> ("someone" "is" "quiet" "+"))
All cold, round people are rough.
((("someone" "is" "cold" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "rough" "+"))
If someone is smart and not cold then they are rough.
((("someone" "is" "smart" "+") ("someone" "is" "cold" "~")) -> ("someone" "is" "rough" "+"))
All quiet people are round.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "round" "+"))
If someone is green then they are round.
((("someone" "is" "green" "+")) -> ("someone" "is" "round" "+"))
All green, quiet people are not kind.
((("someone" "is" "green" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "kind" "-"))
Bob is not smart.
True
1
proof
[(triple2)]
("Bob" "is" "smart" "-")
triple2
Gary is not rough.
False
1
inv-proof
[(triple6)]
("Gary" "is" "rough" "-")
triple6
Fiona is quiet.
True
2
proof
[(((triple3) -> rule2))]
("Fiona" "is" "quiet" "+")
((triple3) -> (rule2 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Gary is not round.
False
2
inv-proof
[(((triple5) -> rule5) OR ((((triple6) -> rule1)) -> rule6))]
("Gary" "is" "round" "-")
((triple5) -> (rule5 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
((((triple6) -> (rule1 % int2))) -> (rule6 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is not kind.
True
4
proof
[(((((triple6) -> rule1) triple5) -> rule7))]
("Gary" "is" "kind" "-")
((((triple6) -> (rule1 % int2)) triple5) -> (rule7 % int1))
Gary is not kind.
("Gary" "is" "kind" "-")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is kind.
False
4
inv-proof
[(((((triple6) -> rule1) triple5) -> rule7))]
("Gary" "is" "kind" "+")
((((triple6) -> (rule1 % int2)) triple5) -> (rule7 % int1))
Gary is not kind.
("Gary" "is" "kind" "-")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Fiona is rough.
True
5
proof
[(((triple3 ((((triple3) -> rule2)) -> rule5)) -> rule3))]
("Fiona" "is" "rough" "+")
((triple3 ((((triple3) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is not rough.
False
5
inv-proof
[(((triple3 ((((triple3) -> rule2)) -> rule5)) -> rule3))]
("Fiona" "is" "rough" "-")
((triple3 ((((triple3) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is green.
True
6
proof
[(((((triple3 ((((triple3) -> rule2)) -> rule5)) -> rule3)) -> rule1))]
("Fiona" "is" "green" "+")
((((triple3 ((((triple3) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int4
Fiona is not green.
False
6
inv-proof
[(((((triple3 ((((triple3) -> rule2)) -> rule5)) -> rule3)) -> rule1))]
("Fiona" "is" "green" "-")
((((triple3 ((((triple3) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int4
Fiona is not kind.
True
9
proof
[(((((((triple3 ((((triple3) -> rule2)) -> rule5)) -> rule3)) -> rule1) ((triple3) -> rule2)) -> rule7))]
("Fiona" "is" "kind" "-")
((((((triple3 ((((triple3) -> (rule2 % int5))) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule1 % int2)) ((triple3) -> (rule2 % int5))) -> (rule7 % int1))
Fiona is not kind.
("Fiona" "is" "kind" "-")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Fiona is round.
("Fiona" "is" "round" "+")
int4
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int5
Fiona is kind.
False
9
inv-proof
[(((((((triple3 ((((triple3) -> rule2)) -> rule5)) -> rule3)) -> rule1) ((triple3) -> rule2)) -> rule7))]
("Fiona" "is" "kind" "+")
((((((triple3 ((((triple3) -> (rule2 % int5))) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule1 % int2)) ((triple3) -> (rule2 % int5))) -> (rule7 % int1))
Fiona is not kind.
("Fiona" "is" "kind" "-")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Fiona is round.
("Fiona" "is" "round" "+")
int4
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int5
Bob is not round.
Unknown
inv-rconc
[@2: Bob is round.[CWA. Example of deepest failure = (rule5 <- rule2 <- FAIL)]]
("Bob" "is" "round" "-")
Harry is quiet.
Unknown
rconc
[@1: Harry is quiet.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Harry" "is" "quiet" "+")
Harry is not rough.
Unknown
inv-rconc
[@1: Harry is rough.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Harry" "is" "rough" "-")
Bob is quiet.
Unknown
rconc
[@1: Bob is quiet.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "quiet" "+")
Harry is not green.
Unknown
inv-rconc
[@2: Harry is green.[CWA. Example of deepest failure = (rule1 <- rule3 <- FAIL)]]
("Harry" "is" "green" "-")
Bob is green.
Unknown
rconc
[@1: Bob is green.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Bob" "is" "green" "+")
Gary is not smart.
Unknown
inv-random
[@0: Gary is smart.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "smart" "-")
Harry is smart.
Unknown
random
[@0: Harry is smart.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "smart" "+")
Bob is not kind.
Unknown
inv-random
[@0: Bob is kind.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "kind" "-")
Gary is cold.
Unknown
random
[@0: Gary is cold.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "cold" "+")
Bob is not cold.
Unknown
inv-random
[@0: Bob is cold.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "cold" "-")
Harry is cold.
Unknown
random
[@0: Harry is cold.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "cold" "+")
@0: Bob is not rough.[(triple1)] Bob is not smart.[(triple2)] Fiona is cold.[(triple3)] Fiona is smart.[(triple4)] Gary is quiet.[(triple5)] Gary is rough.[(triple6)] Harry is kind.[(triple7)] @1: Fiona is quiet.[(((triple3) -> rule2))] Gary is green.[(((triple6) -> rule1))] Gary is round.[(((triple5) -> rule5) OR ((((triple6) -> rule1)) -> rule6))] @2: Fiona is round.[(((((triple3) -> rule2)) -> rule5))] Gary is not kind.[(((((triple6) -> rule1) triple5) -> rule7))] @3: Fiona is rough.[(((triple3 ((((triple3) -> rule2)) -> rule5)) -> rule3))] @4: Fiona is green.[(((((triple3 ((((triple3) -> rule2)) -> rule5)) -> rule3)) -> rule1))] @5: Fiona is not kind.[(((((((triple3 ((((triple3) -> rule2)) -> rule5)) -> rule3)) -> rule1) ((triple3) -> rule2)) -> rule7))]
Bob is not rough.
("Bob" "is" "rough" "-")
triple1
Bob is not smart.
("Bob" "is" "smart" "-")
triple2
Fiona is cold.
("Fiona" "is" "cold" "+")
triple3
Fiona is smart.
("Fiona" "is" "smart" "+")
triple4
Gary is quiet.
("Gary" "is" "quiet" "+")
triple5
Gary is rough.
("Gary" "is" "rough" "+")
triple6
Harry is kind.
("Harry" "is" "kind" "+")
triple7
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((triple3) -> (rule2 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
((triple6) -> (rule1 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
((triple5) -> (rule5 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
((((triple6) -> (rule1 % int2))) -> (rule6 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
((((triple3) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Gary is not kind.
("Gary" "is" "kind" "-")
((((triple6) -> (rule1 % int2)) triple5) -> (rule7 % int1))
Gary is not kind.
("Gary" "is" "kind" "-")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
((triple3 ((((triple3) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is green.
("Fiona" "is" "green" "+")
((((triple3 ((((triple3) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int4
Fiona is not kind.
("Fiona" "is" "kind" "-")
((((((triple3 ((((triple3) -> (rule2 % int5))) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule1 % int2)) ((triple3) -> (rule2 % int5))) -> (rule7 % int1))
Fiona is not kind.
("Fiona" "is" "kind" "-")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Fiona is round.
("Fiona" "is" "round" "+")
int4
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int5