PredefinedCASLAxioms.hs revision 94e112d16f89130a688db8b03ad3224903f5e97e
0fe5514fdf12b7559c1a470cf22d89737d55b0a0Eugen KuksaModule : $Header$
0fe5514fdf12b7559c1a470cf22d89737d55b0a0Eugen KuksaDescription : Central datastructures for development graphs
0fe5514fdf12b7559c1a470cf22d89737d55b0a0Eugen KuksaCopyright : (c) Till Mossakowski, Uni Bremen 2002-2006
0fe5514fdf12b7559c1a470cf22d89737d55b0a0Eugen KuksaLicense : GPLv2 or higher, see LICENSE.txt
0fe5514fdf12b7559c1a470cf22d89737d55b0a0Eugen KuksaMaintainer : till@informatik.uni-bremen.de
0fe5514fdf12b7559c1a470cf22d89737d55b0a0Eugen KuksaStability : provisional
0fe5514fdf12b7559c1a470cf22d89737d55b0a0Eugen KuksaPortability : non-portable(Logic)
0fe5514fdf12b7559c1a470cf22d89737d55b0a0Eugen KuksaFixed CASL axioms needed for translation of CommonLogic to CASL
64dcce858b74fca0c1c408a249fde7a9db8a8798Eugen Kuksaimport qualified Common.AS_Annotation as AS_Anno
64dcce858b74fca0c1c408a249fde7a9db8a8798Eugen Kuksaimport qualified Common.Id as Id
64dcce858b74fca0c1c408a249fde7a9db8a8798Eugen Kuksaimport qualified Common.Lib.MapSet as MapSet
64dcce858b74fca0c1c408a249fde7a9db8a8798Eugen Kuksaimport qualified Common.Lib.Rel as Rel
64dcce858b74fca0c1c408a249fde7a9db8a8798Eugen Kuksaimport qualified CASL.AS_Basic_CASL as CBasic
64dcce858b74fca0c1c408a249fde7a9db8a8798Eugen Kuksaimport qualified CASL.Sign as CSign
64dcce858b74fca0c1c408a249fde7a9db8a8798Eugen Kuksaimport qualified Data.Set as Set
64dcce858b74fca0c1c408a249fde7a9db8a8798Eugen Kuksaindividual :: Id.Id
64dcce858b74fca0c1c408a249fde7a9db8a8798Eugen Kuksaindividual = Id.stringToId "individual"
94e112d16f89130a688db8b03ad3224903f5e97eChristian MaedernilType = CBasic.Op_type CBasic.Total [] list Id.nullRange
94e112d16f89130a688db8b03ad3224903f5e97eChristian MaederconsType = CBasic.Op_type CBasic.Total [individual, list] list Id.nullRange
64dcce858b74fca0c1c408a249fde7a9db8a8798Eugen KuksabaseCASLAxioms :: [AS_Anno.Named CBasic.CASLFORMULA]
64dcce858b74fca0c1c408a249fde7a9db8a8798Eugen KuksabaseCASLAxioms = [ga_injective_cons, ga_disjoint_nil_cons, ga_generated_list]
64dcce858b74fca0c1c408a249fde7a9db8a8798Eugen Kuksa-- | setting casl sign: sorts, cons, fun, nil, pred
64dcce858b74fca0c1c408a249fde7a9db8a8798Eugen Kuksa $ Set.fromList [list, individual]
94e112d16f89130a688db8b03ad3224903f5e97eChristian Maeder [ (cons, [CSign.toOpType consType])
64dcce858b74fca0c1c408a249fde7a9db8a8798Eugen Kuksa [individual, list]
64dcce858b74fca0c1c408a249fde7a9db8a8798Eugen Kuksa individual])
94e112d16f89130a688db8b03ad3224903f5e97eChristian Maeder , (nil, [CSign.toOpType nilType])]
64dcce858b74fca0c1c408a249fde7a9db8a8798Eugen Kuksa [(rel, [CSign.PredType [individual, list]])]
94e112d16f89130a688db8b03ad3224903f5e97eChristian Maedervy1 = CBasic.mkVarDecl y1 individual
94e112d16f89130a688db8b03ad3224903f5e97eChristian Maedertx1, tx2, ty1, ty2 :: CBasic.TERM f
94e112d16f89130a688db8b03ad3224903f5e97eChristian Maedertx1 = CBasic.mkVarTerm x1 individual
94e112d16f89130a688db8b03ad3224903f5e97eChristian Maederty1 = CBasic.mkVarTerm y1 individual
64dcce858b74fca0c1c408a249fde7a9db8a8798Eugen Kuksaga_injective_cons :: AS_Anno.Named CBasic.CASLFORMULA
64dcce858b74fca0c1c408a249fde7a9db8a8798Eugen Kuksaga_injective_cons = AS_Anno.makeNamed "ga_injective_cons" $
64dcce858b74fca0c1c408a249fde7a9db8a8798Eugen Kuksaga_disjoint_nil_cons :: AS_Anno.Named CBasic.CASLFORMULA
64dcce858b74fca0c1c408a249fde7a9db8a8798Eugen Kuksaga_disjoint_nil_cons = AS_Anno.makeNamed "ga_disjoint_nil_cons" $
94e112d16f89130a688db8b03ad3224903f5e97eChristian Maeder (CBasic.mkAppl (CBasic.mkQualOp nil nilType) [])
64dcce858b74fca0c1c408a249fde7a9db8a8798Eugen Kuksaga_generated_list :: AS_Anno.Named CBasic.CASLFORMULA
64dcce858b74fca0c1c408a249fde7a9db8a8798Eugen Kuksaga_generated_list = AS_Anno.makeNamed "ga_generated_list" $
94e112d16f89130a688db8b03ad3224903f5e97eChristian Maeder [ (CBasic.mkQualOp cons consType, [-1, 0] )
94e112d16f89130a688db8b03ad3224903f5e97eChristian Maeder , (CBasic.mkQualOp nil nilType, [])