Changeset 12761
- Timestamp:
- 30.10.2009 15:28:02 (3 weeks ago)
- Files:
-
- 1 modified
-
trunk/Comorphisms/CASL2SubCFOL.hs (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Comorphisms/CASL2SubCFOL.hs
r12760 r12761 218 218 df z = defined bsorts z nullRange 219 219 in concatMap (\ s' -> 220 [makeNamed (mkAxName " projection_injectivity" s' s)220 [makeNamed (mkAxName "total_projection_injectivity" s' s) 221 221 $ let xv = mkVarDeclStr "x" s' 222 222 yv = mkVarDeclStr "y" s' … … 232 232 nullRange 233 233 -- forall x:s . d(x) => pr(x)=x 234 , makeNamed (mkAxName " projection" s' s)234 , makeNamed (mkAxName "total_projection" s' s) 235 235 $ let eq = mkStEq (prj $ Sorted_term xt s' nullRange) xt 236 236 in mkForall [vx] … … 243 243 ++ [makeNamed ("ga_notDefBottom_" ++ show s) 244 244 $ let bty = toOP_TYPE $ botType s 245 bt = mkAppl ( Qual_op_name (uniqueBotName bty) bty nullRange) []245 bt = mkAppl (mkQualOp (uniqueBotName bty) bty) [] 246 246 in if uniqBot then 247 247 -- forall x:s . not d(x) <=> x=bottom 248 248 mkForall [vx] 249 (mkEqv (Negation (df xt) nullRange) 250 $ mkStEq xt bt) nullRange 251 else Negation (df bt) nullRange -- not d(bottom) 249 (mkEqv (mkNeg $ df xt) $ mkStEq xt bt) nullRange 250 else mkNeg $ df bt -- not d(bottom) 252 251 | hasBot]) sortList 253 252 ++ filter (not . is_True_atom . sentence) … … 260 259 $ mkForall vs 261 260 ((if opKind typ == Total then mkEqv else mkImpl) 262 (defined bsorts (mkAppl ( Qual_op_name f (toOP_TYPE typ) nullRange)261 (defined bsorts (mkAppl (mkQualOp f $ toOP_TYPE typ) 263 262 $ map toQualVar vs) nullRange) 264 263 $ defVards bsorts vs) nullRange) opList … … 274 273 $ defVards bsorts vs) nullRange) predList) 275 274 where 275 mkQualOp f ty = Qual_op_name f ty nullRange 276 mkNeg f = Negation f nullRange 276 277 minSupers so = keepMinimals sig id $ Set.toList $ Set.delete so 277 278 $ supersortsOf so sig