tff(human_type,type, human: $tType ). tff(cat_type,type, cat: $tType ). tff(jon_decl,type, jon: human ). tff(garfield_decl,type, garfield: cat ). tff(arlene_decl,type, arlene: cat ). tff(nermal_decl,type, nermal: cat ). tff(loves_decl,type, loves: cat > cat ). tff(owns_decl,type, owns: ( human * cat ) > $o ).
tff(garfield,interpretation, ( ( ! [DH: human] : ( DH = d_jon ) & ! [DC: cat]: ( DC = d_garfield | DC = d_arlene | DC = d_nermal ) & $distinct(d_garfield,d_arlene,d_nermal) ) & ( jon = d_jon & garfield = d_garfield & arlene = d_arlene & nermal = d_nermal & loves(d_garfield) = d_garfield & loves(d_arlene) = d_garfield & loves(d_nermal) = d_garfield ) & ( owns(d_jon,d_garfield) & ~ owns(d_jon,d_arlene) & ~ owns(d_jon,d_nermal) ) ) ).
tff(garfield_domain,interpretation-domain, ( ! [DH: human] : ( DH = d_jon ) & ! [DC: cat]: ( DC = d_garfield | DC = d_arlene | DC = d_nermal ) & $distinct(d_garfield,d_arlene,d_nermal) ) ).
tff(garfield_domain_cat,interpretation-domain(cat,d_cat), ( ! [DC: cat]: ( DC = d_garfield | DC = d_arlene | DC = d_nermal ) & $distinct(d_garfield,d_arlene,d_nermal) ) ).
tff(garfield_mapping,interpretation-mapping, ( ( jon = d_jon & garfield = d_garfield & arlene = d_arlene & nermal = d_nermal & loves(d_garfield) = d_garfield & loves(d_arlene) = d_garfield & loves(d_nermal) = d_garfield ) & ( owns(d_jon,d_garfield) & ~ owns(d_jon,d_arlene) & ~ owns(d_jon,d_nermal) ) ) ).
tff(garfield_mapping_loves,interpretation-mapping(loves,d_cat), ( loves(d_garfield) = d_garfield & loves(d_arlene) = d_garfield & loves(d_nermal) = d_garfield ) ).
Jon Owns Garfield's Lovers | Finite Countermodel |
---|---|
%------------------------------------------------------------------------------ tff(human_type,type, human: $tType ). tff(cat_type,type, cat: $tType ). tff(jon_decl,type, jon: human ). tff(garfield_decl,type, garfield: cat ). tff(arlene_decl,type, arlene: cat ). tff(nermal_decl,type, nermal: cat ). tff(loves_decl,type, loves: cat > cat ). tff(owns_decl,type, owns: ( human * cat ) > $o ). tff(only_jon,axiom, ! [H: human] : H = jon ). tff(only_garfield_and_arlene_and_nermal,axiom, ! [C: cat] : ( C = garfield | C = arlene | C = nermal ) ). tff(distinct_cats,axiom, ( garfield != arlene & arlene != nermal & nermal != garfield ) ). tff(jon_owns_garfield_not_arlene,axiom, ( owns(jon,garfield) & ~ owns(jon,arlene) ) ). tff(all_cats_love_garfield,axiom, ! [C: cat] : ( loves(C) = garfield ) ). tff(jon_owns_garfields_lovers,conjecture, ! [C: cat] : ( ( loves(C) = garfield & C != arlene ) => owns(jon,C) ) ). %------------------------------------------------------------------------------ |
%------------------------------------------------------------------------------ tff(human_type,type, human: $tType ). tff(cat_type,type, cat: $tType ). tff(jon_decl,type, jon: human ). tff(garfield_decl,type, garfield: cat ). tff(arlene_decl,type, arlene: cat ). tff(nermal_decl,type, nermal: cat ). tff(loves_decl,type, loves: cat > cat ). tff(owns_decl,type, owns: ( human * cat ) > $o ). %----Types of the domain elements tff(d_jon_decl,type, d_jon: human ). tff(d_garfield_decl,type, d_garfield: cat ). tff(d_arlene_decl,type, d_arlene: cat ). tff(d_nermal_decl,type, d_nermal: cat ). tff(garfield,interpretation, %----The human domain elements are {d_jon} ( ( ! [DH: human] : ( DH = d_jon ) %----The cat domain elements are {d_garfield,d_arlene,d_nermal} & ! [DC: cat]: ( DC = d_garfield | DC = d_arlene | DC = d_nermal ) & $distinct(d_garfield,d_arlene,d_nermal) ) %----Interpret functions & ( jon = d_jon & garfield = d_garfield & arlene = d_arlene & nermal = d_nermal & loves(d_garfield) = d_garfield & loves(d_arlene) = d_garfield & loves(d_nermal) = d_garfield ) %----Interpret predicates & ( owns(d_jon,d_garfield) & ~ owns(d_jon,d_arlene) & ~ owns(d_jon,d_nermal) ) ) ). %------------------------------------------------------------------------------ |
Jon Owns Garfield's Lovers | Finite Countermodel - Medium Grained |
---|---|
%------------------------------------------------------------------------------ tff(human_type,type, human: $tType ). tff(cat_type,type, cat: $tType ). tff(jon_decl,type, jon: human ). tff(garfield_decl,type, garfield: cat ). tff(arlene_decl,type, arlene: cat ). tff(nermal_decl,type, nermal: cat ). tff(loves_decl,type, loves: cat > cat ). tff(owns_decl,type, owns: ( human * cat ) > $o ). tff(only_jon,axiom, ! [H: human] : H = jon ). tff(only_garfield_and_arlene_and_nermal,axiom, ! [C: cat] : ( C = garfield | C = arlene | C = nermal ) ). tff(distinct_cats,axiom, ( garfield != arlene & arlene != nermal & nermal != garfield ) ). tff(jon_owns_garfield_not_arlene,axiom, ( owns(jon,garfield) & ~ owns(jon,arlene) ) ). tff(all_cats_love_garfield,axiom, ! [C: cat] : ( loves(C) = garfield ) ). tff(jon_owns_garfields_lovers,conjecture, ! [C: cat] : ( ( loves(C) = garfield & C != arlene ) => owns(jon,C) ) ). %------------------------------------------------------------------------------ |
%------------------------------------------------------------------------------ tff(human_type,type, human: $tType ). tff(cat_type,type, cat: $tType ). tff(jon_decl,type, jon: human ). tff(garfield_decl,type, garfield: cat ). tff(arlene_decl,type, arlene: cat ). tff(nermal_decl,type, nermal: cat ). tff(loves_decl,type, loves: cat > cat ). tff(owns_decl,type, owns: ( human * cat ) > $o ). tff(d_jon_decl,type, d_jon: human ). tff(d_garfield_decl,type, d_garfield: cat ). tff(d_arlene_decl,type, d_arlene: cat ). tff(d_nermal_decl,type, d_nermal: cat ). tff(garfield_domain,interpretation-domain, ( ! [DH: human] : ( DH = d_jon ) & ! [DC: cat]: ( DC = d_garfield | DC = d_arlene | DC = d_nermal ) & $distinct(d_garfield,d_arlene,d_nermal) ) ). tff(garfield_mapping,interpretation-mapping, ( ( jon = d_jon & garfield = d_garfield & arlene = d_arlene & nermal = d_nermal & loves(d_garfield) = d_garfield & loves(d_arlene) = d_garfield & loves(d_nermal) = d_garfield ) & ( owns(d_jon,d_garfield) & ~ owns(d_jon,d_arlene) & ~ owns(d_jon,d_nermal) ) ) ). %------------------------------------------------------------------------------ |
Jon Owns Garfield's Lovers | Finite Countermodel - Fine Grained |
---|---|
%------------------------------------------------------------------------------ tff(human_type,type, human: $tType ). tff(cat_type,type, cat: $tType ). tff(jon_decl,type, jon: human ). tff(garfield_decl,type, garfield: cat ). tff(arlene_decl,type, arlene: cat ). tff(nermal_decl,type, nermal: cat ). tff(loves_decl,type, loves: cat > cat ). tff(owns_decl,type, owns: ( human * cat ) > $o ). tff(only_jon,axiom, ! [H: human] : H = jon ). tff(only_garfield_and_arlene_and_nermal,axiom, ! [C: cat] : ( C = garfield | C = arlene | C = nermal ) ). tff(distinct_cats,axiom, ( garfield != arlene & arlene != nermal & nermal != garfield ) ). tff(jon_owns_garfield_not_arlene,axiom, ( owns(jon,garfield) & ~ owns(jon,arlene) ) ). tff(all_cats_love_garfield,axiom, ! [C: cat] : ( loves(C) = garfield ) ). tff(jon_owns_garfields_lovers,conjecture, ! [C: cat] : ( ( loves(C) = garfield & C != arlene ) => owns(jon,C) ) ). %------------------------------------------------------------------------------ |
%------------------------------------------------------------------------------ tff(human_type,type, human: $tType ). tff(cat_type,type, cat: $tType ). tff(jon_decl,type, jon: human ). tff(garfield_decl,type, garfield: cat ). tff(arlene_decl,type, arlene: cat ). tff(nermal_decl,type, nermal: cat ). tff(loves_decl,type, loves: cat > cat ). tff(owns_decl,type, owns: ( human * cat ) > $o ). tff(d_jon_decl,type, d_jon: human ). tff(d_garfield_decl,type, d_garfield: cat ). tff(d_arlene_decl,type, d_arlene: cat ). tff(d_nermal_decl,type, d_nermal: cat ). tff(garfield_domain_human,interpretation-domain(human,human), ! [DH: human] : ( DH = d_jon ) ). tff(garfield_domain_cat,interpretation-domain(cat,cat), ( ! [DC: cat]: ( DC = d_garfield | DC = d_arlene | DC = d_nermal ) & $distinct(d_garfield,d_arlene,d_nermal) ) ). tff(garfield_mapping_jon,interpretation-mapping(jon,human), jon = d_jon ). tff(garfield_mapping_garfield,interpretation-mapping(garfied,cat), garfield = d_garfield ). tff(garfield_mapping_arlene,interpretation-mapping(arlene,cat), arlene = d_arlene ). tff(garfield_mapping_nermal,interpretation-mapping(nermal,cat), nermal = d_nermal ). tff(garfield_mapping_loves,interpretation-mapping(loves,cat), ( loves(d_garfield) = d_garfield & loves(d_arlene) = d_garfield & loves(d_nermal) = d_garfield ) ). tff(garfield_mapping_owns,interpretation-mapping(owns,$o), ( owns(d_jon,d2cat(d_garfield)) & ~ owns(d_jon,d_arlene) & ~ owns(d_jon,d_nermal) ) ). %------------------------------------------------------------------------------ |