Changeset 12757

Show
Ignore:
Timestamp:
30.10.2009 10:41:42 (3 weeks ago)
Author:
maeder
Message:

re-ordered and renamed generated axioms

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/Comorphisms/CASL2PCFOL.hs

    r12730 r12757  
    108108-- | Make the name for the projection injectivity axiom 
    109109mkProjInjName :: SORT -> SORT -> String 
    110 mkProjInjName s s' = mkInjectivityName "projection" s' s 
     110mkProjInjName = mkInjectivityName "projection" 
    111111 
    112112-- | create a quantified injectivity implication 
     
    138138mkProjInjAxiom :: SORT -> SORT -> Named (FORMULA ()) 
    139139mkProjInjAxiom s s' = 
    140     makeNamed (mkProjInjName s s') 
     140    makeNamed (mkProjInjName s' s) 
    141141      $ mkInjectivity (projectTo s) (mkVarDeclStr "x" s') $ mkVarDeclStr "y" s' 
    142142 
     
    155155--   i.e., forall x:s . pr(inj(x))=e=x 
    156156mkProjAxiom:: SORT -> SORT -> Named (FORMULA ()) 
    157 mkProjAxiom s s' = makeNamed (mkProjName s s') 
     157mkProjAxiom s s' = makeNamed (mkProjName s' s) 
    158158    $ mkXExEq s (projectTo s . injectTo s') id 
    159159 
     
    180180 
    181181generateAxioms :: Sign f e -> [Named (FORMULA ())] 
    182 generateAxioms sig = concat 
    183     $ [[mkEmbInjAxiom s s'] ++ [mkProjInjAxiom s s'] ++ [mkProjAxiom s s'] 
    184       | s <- sorts, 
    185         s' <- realSupers s] 
    186     ++ [[mkTransAxiom s s' s''] 
    187           | s <- sorts, 
    188             s' <- realSupers s, 
    189             s'' <- realSupers s', 
    190             s'' /= s] 
    191     ++ [[mkIdAxiom s s'] 
    192           | s <- sorts, 
    193             s' <- realSupers s, 
    194             Set.member s $ supersortsOf s' sig] 
     182generateAxioms sig = concatMap (\ s -> 
     183    concatMap (\ s' -> 
     184      [mkIdAxiom s s' | Set.member s $ supersortsOf s' sig ] 
     185      ++ mkEmbInjAxiom s s' : mkProjInjAxiom s s' : mkProjAxiom s s' 
     186      : map (mkTransAxiom  s s') (realSupers s')) 
     187    $ realSupers s) $ Set.toList $ sortSet sig 
    195188    where 
    196189        realSupers so = Set.toList $ supersortsOf so sig 
    197         sorts = Set.toList $ sortSet sig 
    198190 
    199191f2Formula :: FORMULA f -> FORMULA f