Fiona is furry. Fiona is nice. Fiona is smart. If Fiona is blue then Fiona is rough. All round, smart people are blue. If Fiona is blue and Fiona is smart then Fiona is kind. Smart people are round. All blue, round people are furry. Rough people are smart. All blue, rough people are round. If Fiona is kind then Fiona is nice.
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
If Fiona is blue then Fiona is rough.
((("Fiona" "is" "blue" "+")) -> ("Fiona" "is" "rough" "+"))
All round, smart people are blue.
((("someone" "is" "round" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "blue" "+"))
If Fiona is blue and Fiona is smart then Fiona is kind.
((("Fiona" "is" "blue" "+") ("Fiona" "is" "smart" "+")) -> ("Fiona" "is" "kind" "+"))
Smart people are round.
((("someone" "is" "smart" "+")) -> ("someone" "is" "round" "+"))
All blue, round people are furry.
((("someone" "is" "blue" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "furry" "+"))
Rough people are smart.
((("someone" "is" "rough" "+")) -> ("someone" "is" "smart" "+"))
All blue, rough people are round.
((("someone" "is" "blue" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "round" "+"))
If Fiona is kind then Fiona is nice.
((("Fiona" "is" "kind" "+")) -> ("Fiona" "is" "nice" "+"))
Fiona is nice.
True
1
proof
[(triple2 OR ((((((((triple3) -> rule4) triple3) -> rule2) triple3) -> rule3)) -> rule8))]
("Fiona" "is" "nice" "+")
triple2
((((((((triple3) -> (rule4 % int4)) triple3) -> (rule2 % int3)) triple3) -> (rule3 % int2))) -> (rule8 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is round.
("Fiona" "is" "round" "+")
int4
Fiona is not furry.
False
1
inv-proof
[(triple1 OR ((((((triple3) -> rule4) triple3) -> rule2) ((triple3) -> rule4)) -> rule5))]
("Fiona" "is" "furry" "-")
triple1
((((((triple3) -> (rule4 % int3)) triple3) -> (rule2 % int2)) ((triple3) -> (rule4 % int3))) -> (rule5 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Fiona is round.
True
2
proof
[(((triple3) -> rule4))]
("Fiona" "is" "round" "+")
((triple3) -> (rule4 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is not round.
False
2
inv-proof
[(((triple3) -> rule4))]
("Fiona" "is" "round" "-")
((triple3) -> (rule4 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is blue.
True
4
proof
[(((((triple3) -> rule4) triple3) -> rule2))]
("Fiona" "is" "blue" "+")
((((triple3) -> (rule4 % int2)) triple3) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is not blue.
False
4
inv-proof
[(((((triple3) -> rule4) triple3) -> rule2))]
("Fiona" "is" "blue" "-")
((((triple3) -> (rule4 % int2)) triple3) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
@0: Fiona is furry.[(triple1 OR ((((((triple3) -> rule4) triple3) -> rule2) ((triple3) -> rule4)) -> rule5))] Fiona is nice.[(triple2 OR ((((((((triple3) -> rule4) triple3) -> rule2) triple3) -> rule3)) -> rule8))] Fiona is smart.[(triple3)] @1: Fiona is round.[(((triple3) -> rule4))] @2: Fiona is blue.[(((((triple3) -> rule4) triple3) -> rule2))] @3: Fiona is kind.[(((((((triple3) -> rule4) triple3) -> rule2) triple3) -> rule3))] Fiona is rough.[(((((((triple3) -> rule4) triple3) -> rule2)) -> rule1))]
Fiona is furry.
("Fiona" "is" "furry" "+")
triple1
((((((triple3) -> (rule4 % int3)) triple3) -> (rule2 % int2)) ((triple3) -> (rule4 % int3))) -> (rule5 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
triple2
((((((((triple3) -> (rule4 % int4)) triple3) -> (rule2 % int3)) triple3) -> (rule3 % int2))) -> (rule8 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is round.
("Fiona" "is" "round" "+")
int4
Fiona is smart.
("Fiona" "is" "smart" "+")
triple3
Fiona is round.
("Fiona" "is" "round" "+")
((triple3) -> (rule4 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
((((triple3) -> (rule4 % int2)) triple3) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
((((((triple3) -> (rule4 % int3)) triple3) -> (rule2 % int2)) triple3) -> (rule3 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3
Fiona is rough.
("Fiona" "is" "rough" "+")
((((((triple3) -> (rule4 % int3)) triple3) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
int3