X::·Person) .name))) by(auto simp: dot-accessor cp-def ) ,
X::·Client) .name))) by(auto simp: dot-accessor cp-def ) ,
X::·Staff ) .name))) by(auto simp: dot-accessor cp-def ) ,
cl-res = invalid by(rule ext, simp add: dot-accessor bot-option-def null-fun-def null-option-def ) lemma dot C lient --address-invalid : (invalid::·Client) .address = invalid by(rule ext, simp add: dot-accessor bot-option-def invalid-def ) lemma dot C lient --address-null : (null::·Client) .address = invalid by(rule ext, simp add: dot-accessor bot-option-def null-fun-def null-option-def ) lemma dot C lient -0---cl-resat-pre-invalid : (invalid::·Client) .cl-res@pre = invalid by(rule ext, simp add: dot-accessor bot-option-def invalid-def ) lemma dot C lient -0---cl-resat-pre-null : (null::·Client) .cl-res@pre = invalid by(rule ext, simp add: dot-accessor bot-option-def null-fun-def null-option-def ) lemma dot C lient --addressat-pre-invalid : (invalid::·Client) .address@pre = invalid by(rule ext, simp add: dot-accessor bot-option-def invalid-def ) lemma dot C lient --addressat-pre-null : (null::·Client) .address@pre = invalid by(rule ext, simp add: dot-accessor bot-option-def null-fun-def null-option-def ) lemma dot P er son-0---flights-invalid : (invalid::·Person) .flights = invalid by(rule ext, simp add: dot-accessor bot-option-def invalid-def ) lemma dot P er son-0---flights-nul l : (null::·Person) .flights = invalid by(rule ext, simp add: dot-accessor bot-option-def null-fun-def null-option-def ) lemma dot P er son--name-invalid : (invalid::·Person) .name = invalid by(rule ext, simp add: dot-accessor bot-option-def invalid-def ) lemma dot P er son--name-nul l : (null::·Person) .name = invalid by(rule ext, simp add: dot-accessor bot-option-def null-fun-def null-option-def ) lemma dot P er son-0---flightsat-pre-invalid : (invalid::·Person) .flights@pre = invalid by(rule ext, simp add: dot-accessor bot-option-def invalid-def ) lemma dot P er son-0---flightsat-pre-nul l : (null::·Person) .flights@pre = invalid by(rule ext, simp add: dot-accessor bot-option-def null-fun-def null-option-def ) lemma dot P er son--nameat-pre-invalid : (invalid::·Person) .name@pre = invalid by(rule ext, simp add: dot-accessor bot-option-def invalid-def ) lemma dot P er son--nameat-pre-nul l : (null::·Person) .name@pre = invalid by(rule ext, simp add: dot-accessor bot-option-def null-fun-def null-option-def ) lemma dot Reser v ation-0---prev-invalid : (invalid::·Reservation) .prev = invalid by(rule ext, simp add: dot-accessor bot-option-def invalid-def ) lemma dot Reser v ation-0---prev-nul l : (null::·Reservation) .prev = invalid by(rule ext, simp add: dot-accessor bot-option-def null-fun-def null-option-def ) lemma dot Reser v ation-1---next-invalid : (invalid::·Reservation) .next = invalid by(rule ext, simp add: dot-accessor bot-option-def invalid-def ) lemma dot Reser v ation-1---next-nul l : (null::·Reservation) .next = invalid by(rule ext, simp add: dot-accessor bot-option-def null-fun-def null-option-def ) lemma dot Reser v ation-1---client-invalid : (invalid::·Reservation) .client = invalid by(rule ext, simp add: dot-accessor bot-option-def invalid-def ) lemma dot Reser v ation-1---client-nul l : (null::·Reservation) .client = invalid by(rule ext, simp add: dot-accessor bot-option-def null-fun-def null-option-def ) lemma dot Reser v ation--id-invalid : (invalid::·Reservation) .id = invalid by(rule ext, simp add: dot-accessor bot-option-def invalid-def ) lemma dot Reser v ation--id-nul l : (null::·Reservation) .id = invalid by(rule ext, simp add: dot-accessor bot-option-def null-fun-def null-option-def ) lemma dot Reser v ation--date-invalid : (invalid::·Reservation) .date = invalid by(rule ext, simp add: dot-accessor bot-option-def invalid-def ) lemma dot Reser v ation--date-nul l : (null::·Reservation) .date = invalid by(rule ext, simp add: dot-accessor bot-option-def null-fun-def null-option-def ) lemma dot Reser v ation--flight-invalid : (invalid::·Reservation) .flight = invalid by(rule ext, simp add: dot-accessor bot-option-def invalid-def ) lemma dot Reser v ation--flight-nul l : (null::·Reservation) .flight = invalid by(rule ext, simp add: dot-accessor bot-option-def null-fun-def null-option-def ) lemma dot Reser v ation-0---prevat-pre-invalid : (invalid::·Reservation) .prev@pre = invalid by(rule ext, simp add: dot-accessor bot-option-def invalid-def ) lemma dot Reser v ation-0---prevat-pre-nul l : (null::·Reservation) .prev@pre = invalid by(rule ext, simp add: dot-accessor bot-option-def null-fun-def null-option-def ) lemma dot Reser v ation-1---nextat-pre-invalid : (invalid::·Reservation) .next@pre = invalid by(rule ext, simp add: dot-accessor bot-option-def invalid-def ) lemma dot Reser v ation-1---nextat-pre-nul l : (null::·Reservation) .next@pre = invalid by(rule ext, simp add: dot-accessor bot-option-def null-fun-def null-option-def ) lemma dot Reser v ation-1---clientat-pre-invalid : (invalid::·Reservation) .client@pre = invalid by(rule ext, simp add: dot-accessor bot-option-def invalid-def ) lemma dot Reser v ation-1---clientat-pre-nul l : (null::·Reservation) .client@pre = invalid by(rule ext, simp add: dot-accessor bot-option-def null-fun-def null-option-def ) lemma dot Reser v ation--idat-pre-invalid : (invalid::·Reservation) .id@pre = invalid by(rule ext, simp add: dot-accessor bot-option-def invalid-def ) lemma dot Reser v ation--idat-pre-nul l : (null::·Reservation) .id@pre = invalid by(rule ext, simp add: dot-accessor bot-option-def null-fun-def null-option-def ) lemma dot Reser v ation--dateat-pre-invalid : (invalid::·Reservation) .date@pre = invalid by(rule ext, simp add: dot-accessor bot-option-def invalid-def ) lemma dot Reser v ation--dateat-pre-nul l : (null::·Reservation) .date@pre = invalid by(rule ext, simp add: dot-accessor bot-option-def null-fun-def null-option-def ) lemma dot Reser v ation--flightat-pre-invalid : (invalid::·Reservation) .flight@pre = invalid by(rule ext, simp add: dot-accessor bot-option-def invalid-def ) lemma dot Reser v ation--flightat-pre-nul l : (null::·Reservation) .flight@pre = invalid by(rule ext, simp add: dot-accessor bot-option-def null-fun-def null-option-def ) lemma dot C lient -0---flights-invalid : (invalid::·Client) .flights = invalid by(rule ext, simp add: dot-accessor bot-option-def invalid-def ) lemma dot C lient -0---flights-null : (null::·Client) .flights = invalid by(rule ext, simp add: dot-accessor bot-option-def null-fun-def null-option-def ) lemma dot C lient --name-invalid : (invalid::·Client) .name = invalid by(rule ext, simp add: dot-accessor bot-option-def invalid-def ) lemma dot C lient --name-null : (null::·Client) .name = invalid by(rule ext, simp add: dot-accessor bot-option-def null-fun-def null-option-def ) lemma dot C lient -0---flightsat-pre-invalid : (invalid::·Client) .flights@pre = invalid by(rule ext, simp add: dot-accessor bot-option-def invalid-def ) lemma dot C lient -0---flightsat-pre-null : (null::·Client) .flights@pre = invalid by(rule ext, simp add: dot-accessor bot-option-def null-fun-def null-option-def ) lemma dot C lient --nameat-pre-invalid : (invalid::·Client) .name@pre = invalid by(rule ext, simp add: dot-accessor bot-option-def invalid-def ) lemma dot C lient --nameat-pre-null : (null::·Client) .name@pre = invalid by(rule ext, simp add: dot-accessor bot-option-def null-fun-def null-option-def ) lemma dot S taf f -0---flights-invalid : (invalid::·Staff ) .flights = invalid by(rule ext, simp add: dot-accessor bot-option-def invalid-def ) lemma dot S taf f -0---flights-null : (null::·Staff ) .flights = invalid by(rule ext, simp add: dot-accessor bot-option-def null-fun-def null-option-def ) lemma dot S taf f --name-invalid : (invalid::·Staff ), ·Flight) .to@pre = invalid by(rule ext·Flight) .to@pre = invalid by(rule ext ,
uncurry cons (Ocl-instance-single Valencia)))))), uncurry cons uncurry cons (Ocl-instance-single- Ocl-multiplicity-ext (uncurry cons (I (Mult-nat ((Code-Numeral uncurry cons (META-association (Ocl-association-ext (OclAssTy-association, OclAss- Rel (uncurry cons (I (OclTyObj (OclTyCore-pre ((META.SS-base (META.ST Client))), nil), Ocl-multiplicity-ext (uncurry cons (I (Mult-nat ((Code-Numeral Reservation))), nil), Ocl-multiplicity-ext (uncurry cons (I (Mult-star, uncurry cons uncurry cons-base (META.ST flight)), ShallB-str ((META.SS-base (META.ST F1 ))))), uncurry cons (I (NONE, I ((META.SS-base (META.ST date)), ShallB-str ((META.SS-base (META.ST Mon))))), nil)))), ()), uncurry cons (Ocl-instance-single-ext (SOME ((META.SS-base (META.ST R21 ))), SOME ((META.SS-base (META.ST Reservation))), NONE, OclAttrNoCast (uncurry cons (I (NONE, I ((META.SS-base (META.ST id)), ShallB-term (OclDefInteger ((META.SS-base (META.ST 98765 )))))), uncurry cons (I (NONE, I ((META.SS-base (META.ST flight)), ShallB-str ((META.SS-base (META.ST F1 ))))), nil))), ()), uncurry cons uncurry consMETA.ST Wed)), uncurry cons ((META.SS-base (META.ST Thu)), uncurry cons ((META.SS-base (META.ST Fri)), uncurry cons ((META.SS-base (META.ST Sat)), uncurry cons ((META.SS-base (META.ST Sun)), nil))))))))), uncurry cons (META-association (Ocl-association-ext (OclAssTy-association, OclAssRel (uncurry cons (I (OclTyObj (OclTyCore-pre ((META.SS-base (META.ST Reservation))), nil), Ocl-multiplicity-ext (uncurry cons (I (Mult-nat ((Code-Numeral.Nat 0 )), SOME (Mult-nat ((Code-Numeral.Nat 1 )))), nil), SOME ((META.SS-base (META.ST next))), nil uncurry cons (I (OclTyObj (OclTyCore-pre ((META.SS-base (META.ST Reservation))), nil) SOME ((META.SS-base (META.ST cl-res))), nil uncurry cons (META-association (Ocl-association-ext (OclAssTy-aggregation, OclAssRel (uncurry cons (I (OclTyObj (OclTyCore-pre ((META.SS-base (META.ST Flight))), nil), Ocl-multiplicity-ext (uncurry cons (I (Mult-nat ((Code-Numeral.Nat 1 )), NONE), nil), SOME ((META.SS-base (META.ST flight))), nil uncurry cons (I (OclTyObj (OclTyCore-pre ((META.SS-base (META.ST Reservation))), nil), Ocl-multiplicity-ext (uncurry cons (I (Mult-star, NONE), nil), SOME ((META.SS-base (META.ST fl-res))), uncurry cons (Sequence uncurry cons (META-association (Ocl-association-ext (OclAssTy-association, OclAssRel (uncurry cons (I (OclTyObj (OclTyCore-pre ((META.SS-base Ocl-multiplicity-ext (uncurry cons (I (Mult-star SOME ((META.SS-base Ocl-multiplicity-ext (uncurry cons (I (Mult-star SOME ((META.SS-base uncurry cons (META-class-raw (Floor1 , Ocl-class-raw-ext (OclTyObj (OclTyCore-pre ((META.SS-base uncurry cons (META-class-raw (Floor1 , Ocl-class-raw-ext (OclTyObj (OclTyCore-pre ((META.SS-base (META.ST Client))), uncurry cons (uncurry cons (OclTyCore-pre ((META.SS-base nil)), uncurry cons (I ((META.SS-base (META.ST address)), OclTy-base-string), nil), nil, false))), nil), uncurry cons (I ((META.SS-base (META.ST name)), OclTy-base-string), nil), nil, false uncurry cons (META-class-raw (Floor1 , Ocl-class-raw-ext (OclTyObj (OclTyCore-pre ((META.SS-base (META.ST Reservation))), nil), uncurry cons (I ((META.SS-base (META.ST id)), OclTy-base-integer), uncurry cons (I ((META.SS-base (META.ST date)), OclTy-object (OclTyObj (OclTyCore-pre ((META.SS-base (META.ST Week))), nil))), nil)), nil, false, ())), uncurry cons (META-class-raw (Floor1 , Ocl-class-raw-ext (OclTyObj (OclTyCore-pre ((META.SS-base (META.ST Flight))), nil), uncurry cons (I ((META.SS-base (META.ST seats)), OclTy-base-integer), uncurry cons (I ((META.SS-base (META.ST from)), OclTy-base-string), uncurry cons (I ((META.SS-base (META.ST to)), OclTy-base-string), nil))), nil, false, p.uncurry cons (I (OclTyObj (OclTyCore-pre ((META.SS-base uncurry cons (uncurry cons (OclTyCore-pre ((META.SS-base uncurry cons (META-class-raw ,
allinst-lemmas-id} local-setup embedding-fun-info @{const-name print-allinst-astype} local-setup embedding-fun-info @{const-name print-allinst-exec} local-setup embedding-fun-info @{const-name print-allinst-istypeof-pre} local-setup embedding-fun-info @{const-name print-allinst-istypeof } local-setup embedding-fun-info @{const-name print-allinst-iskindof-eq} local-setup embedding-fun-info @{const-name print-allinst-iskindof-larger} local-setup embedding-fun-info @{const-name print-access-oid-uniq-ml} local-setup embedding-fun-info @{const-name print-access-oid-uniq} local-setup embedding-fun-info @{const-name print-access-eval-extract} local-setup embedding-fun-info @{const-name print-access-choose-ml} local-setup embedding-fun-info @{const-name print-access-choose} local-setup embedding-fun-info @{const-name print-access-deref-oid} local-setup embedding-fun-info @{const-name print-access-deref-assocs} local-setup embedding-fun-info @{const-name print-access-select} local-setup embedding-fun-info @{const-name print-access-select-obj} local-setup embedding-fun-info @{const-name print-access-dot-consts} local-setup embedding-fun-info @{const-name print-access-dot} local-setup embedding-fun-info @{const-name print-access-dot-lemmas-id} local-setup embedding-fun-info @{const-name print-access-dot-cp-lemmas} local-setup embedding-fun-info @{const-name print-access-dot-lemma-cp} local-setup embedding-fun-info @{const-name print-access-dot-lemmas-cp} local-setup embedding-fun-info @{const-name print-access-lemma-strict} local-setup embedding-fun-info @{const-name print-access-def-mono} local-setup embedding-fun-info @{const-name print-access-is-repr} local-setup embedding-fun-info @{const-name print-access-repr-allinst} local-setup embedding-fun-info @{const-name print-examp-def-st-defs} local-setup embedding-fun-info @{const-name print-astype-lemmas-id2 } local-setup embedding-fun-info @{const-name print-enum} local-setup embedding-fun-info @{const-name print-examp-instance-defassoc-typecheck-var} local-setup embedding-fun-info @{const-name print-examp-instance-defassoc} local-setup embedding-fun-info @{const-name print-examp-instance} local-setup embedding-fun-info @{const-name print-examp-instance-defassoc-typecheck} local-setup embedding-fun-info @{const-name print-examp-oclbase} local-setup embedding-fun-info-f1 @{const-name Floor1-examp.print-examp-def-st-typecheck-var} local-setup embedding-fun-info-f1 @{const-name Floor1-examp.print-examp-def-st1 } local-setup embedding-fun-info-f2 @{const-name Floor2-examp.print-examp-def-st-locale} local-setup embedding-fun-info-f2 @{const-name Floor2-examp.print-examp-def-st2 } local-setup embedding-fun-info-f2 @{const-name Floor2-examp.print-examp-def-st-dom} local-setup embedding-fun-info-f2 @{const-name Floor2-examp.print-examp-def-st-dom-lemmas} local-setup embedding-fun-info-f2 @{const-name Floor2-examp.print-examp-def-st-perm} local-setup embedding-fun-info-f2 @{const-name Floor2-examp.print-examp-def-st-allinst} local-setup embedding-fun-info-f2 @{const-name Floor2-examp.print-examp-def-st-defassoc-typecheck} local-setup embedding-fun-info-f2 @{const-name Floor2-examp.print-examp-def-st-def-interp} local-setup embedding-fun-info-f1 @{const-name Floor1-examp.print-transition} local-setup embedding-fun-info-f2 @{const-name Floor2-examp.print-transition-locale} local-setup embedding-fun-info-f2 @{const-name Floor2-examp.print-transition-interp} local-setup embedding-fun-info-f2 @{const-name Floor2-examp.print-transition-def-state} local-setup embedding-fun-info-f2 @{const-name Floor2-examp.print-transition-wff } local-setup embedding-fun-info-f2 @{const-name Floor2-examp.print-transition-where} local-setup embedding-fun-info-f2 @{const-name Floor2-examp.print-transition-def-interp} local-setup embedding-fun-info-f2 @{const-name Floor2-examp.print-transition-lemmas-oid} local-setup embedding-fun-info-f1 @{const-name Floor1-ctxt.print-ctxt} local-setup embedding-fun-info-f2 @{const-name Floor2-ctxt.print-ctxt-pre-post} local-setup embedding-fun-info-f2 @{const-name Floor2-ctxt.print-ctxt-inv} local-setup embedding-fun-info-f2 @{const-name Floor2-ctxt.print-ctxt-thm} local-setup embedding-fun-info @{const-name print-meta-setup-def-state} local-setup embedding-fun-info @{const-name print-meta-setup-def-transition} Parse.of-ocl-collection-def Parse.of-ocl-multiplicity-single-def Parse.of-ocl-multiplicity-def Parse.of-ocl-ty-class-node-def Parse.of-ocl-ty-class-def Parse.of-ocl-ty-obj-core-def Parse.of-ocl-ty-obj-def Parse.of-ocl-ty-def Parse.of-ocl-association-type-def Parse.of-ocl-association-relation-def Parse.of-ocl-association-def Parse.of-ocl-ctxt-prefix-def Parse.of-ocl-ctxt-term-def Parse.of-ocl-prop-def Parse.of-ocl-ctxt-term-inv-def Parse.of-ocl-ctxt-term-pp-def Parse.of-ocl-ctxt-pre-post-def Parse.of-ocl-ctxt-clause-def Parse.of-ocl-ctxt-def Parse.of-ocl-class-def Parse.of-ocl-class-raw-def Parse, def end G.3 Instantiating the Parser of META theory Parser-META imports Meta-META Parser-UML Parser-UML-extended begin Parse ,
of-string Parse-SML.of-string base Parse-SML.of-nat Parse-SML.of-unit Parse-SML.of-bool Parse-SML.Of-Pair Parse-SML.Of-Nil Parse-SML.Of-Cons Parse-SML.Of-None Parse-SML.Of-Some done context Parse-SML begin definition compiler-env-config a b = of-compiler-env-config a b (? -. of-unit) end definition sml-of-compiler-env-config = Parse-SML.compiler-env-config lemmas [code] = Parse-SML.Of-Pair-def Parse-SML.Of-Nil-def Parse-SML.Of-Cons-def Parse-SML.Of-None-def Parse-SML.Of-Some-def Parse-SML.of-pair-def Parse-SML.of-list-def Parse-SML.of-option-def Parse-SML.of-unit-def Parse-SML.of-bool-def Parse-SML.of-string-def Parse-SML.of-string base -def Parse-SML.of-nat-def Parse-SML.sml-escape-def Parse-SML.compiler-env-config-def definition sml-apply s l = S.flatten [s, p.end ,
let (l-thy, lg) = L.mapM (?l n. (of-all-meta env l, Succ n)) l 0 in (( # %s, %d * )%s (To-string (if compiler-env-config.more env then else °char-escape°)) (To-nat (Succ i)) (To-nat cpt) (To-nat lg) (case msg of None ? | Some msg ? ( * term %s * ) (To-string msg)) ,
Degrees of formality in shallow embedding hardware description languages in HOL, Joyce and Seger [JS94], pp.89-100 ,
Validation of a security metamodel for the development of cloud applications, Proceedings of the MODELS 2014 OCL Workshop CEUR Workshop Proceedings. CEUR- WS.org, p.142, 2014. ,
The Java Programming Language, Third Edition, 2000. ,
Operational aspects of untyped Normalisation by Evaluation, Mathematical Structures in Computer Science, vol.14, issue.4, pp.587-611, 2004. ,
DOI : 10.1017/S096012950400427X
Ouroboros avatars: A mathematical exploration of self-reference and metabolic closure Advances in Artificial Life: 20th Anniversary Edition -Back to the Origins of Alife, pp.763-770, 2011. ,
Introduction to Mathematical Logic and Type Theory: To Truth through Proof, 1921. ,
The swift programming language, TheSwiftProgrammingLanguage(Swift2.2) .epub, 2016. Swift 2.2 Edition, p.11 ,
Locales: A Module System for Mathematical Theories, Journal of Automated Reasoning, vol.254, issue.2, pp.123-153, 2014. ,
DOI : 10.1007/s10817-013-9284-7
Introduction to generalized type systems, J. Funct. Program, vol.1, issue.2, pp.125-154, 1991. ,
Sets in coq, coq in sets Interactive Theorem Proving and Program Development. Coq'Art: The Calculus of Inductive Constructions, J. Formalized Reasoning Metalogical frameworks. Logical Environments, vol.3, issue.1, pp.29-48, 1993. ,
Reflective metalogical frameworks, ACM Transactions on Computational Logic, vol.5, issue.3, pp.528-576, 2004. ,
DOI : 10.1145/1013560.1013566
Defining (Co)datatypes in Isabelle/HOL, 2016. ,
An MDA framework supporting OCL, Electronic Communications of the EASST, vol.5, p.94, 2006. ,
A model transformation semantics and analysis methodology for SecureUML ,
Semantic issues of OCL: Past, present, and future, Electronic Communications of the EASST, vol.5, p.14, 2006. ,
Experience with embedding hardware description languages in HOL, Proceedings of the the International Conference on Theorem Provers in Circuit Design: Theory, Practice and Experience, volume A-10 of IFIP Transactions, pp.129-156, 1993. ,
The Whole-Part Relationship in the Unified Modeling Language, Unified Modeling Language: Systems Analysis, Design and Development Issues, pp.185-209 ,
DOI : 10.4018/978-1-930708-05-1.ch012
A specification-based test case generation method for UML/OCL, MoD- ELS Workshops, number 6627 in Lecture Notes in Computer Science, pp.334-348, 2010. ,
Extending OCL with null-references, Models in Software Engineering, number 6002 in Lecture Notes in Computer Science, pp.261-275, 2009. ,
Hammering Away: A User's Guide to Sledgehammer for Isabelle/HOL, 2016. ,
The Spec# Programming System: An Overview, Construction and Analysis of Safe, Secure, and Interoperable Smart Devices (CASSIS), pp.49-69, 2005. ,
DOI : 10.1007/978-3-540-30569-9_3
On the semantics of object-oriented data structures and path expressions, Proceedings of the MoDELS 2013 OCL Workshop (OCL 2013), volume 1092 of CEUR Workshop Proceedings, pp.23-32, 2013. ,
HOL-Boogie ??? An Interactive Prover for the Boogie Program-Verifier, Theorem Proving in Higher Order Logics, pp.150-166, 2008. ,
DOI : 10.1007/978-3-540-74591-4_26
Metafunctions: Proving them correct and using them efficiently as new proof procedures, p.67, 1979. ,
Using reflection to build efficient and certified decision procedures, Theoretical Aspects of Computer Software, Third International Symposium, TACS '97 Proceedings, volume 1281 of Lecture Notes in Computer Science, pp.515-529, 1997. ,
DOI : 10.1007/BFb0014565
An Interactive Proof Environment for Objectoriented Specifications, ETH Dissertation No, vol.17097, p.33, 2007. ,
HOL-Z 2.0: A proof environment for Z-specifications An inverse of the evaluation functional for typed lambda-calculus, Proceedings of the Sixth Annual Symposium on Logic in Computer Science (LICS '91), pp.152-172, 1991. ,
CVC3, Lecture Notes in Computer Science, vol.4590, pp.298-302, 2007. ,
DOI : 10.1007/978-3-540-73368-3_34
Asynchronous Processing of Coq Documents: From the Kernel up to the User Interface, Interactive Theorem Proving -6th International Conference, ITP 2015 Proceedings, pp.51-66, 2015. ,
DOI : 10.1007/978-3-319-22102-1_4
URL : https://hal.archives-ouvertes.fr/hal-01135919
Featherweight OCL: A proposal for a machine-checked formal semantics for OCL 2.5. Archive of Formal Proofs, 2014. ,
Coq in coq Inductive datatypes in HOL -lessons learned in formal-logic engineering, Theorem Proving in Higher Order Logics, 12th International Conference, TPHOLs'99 Proceedings, volume 1690 of Lecture Notes in Computer Science, pp.142-161, 1997. ,
Calculational Reasoning Revisited An Isabelle/Isar Experience, In Richard J. Boulton and Paul B ,
DOI : 10.1007/3-540-44755-5_7
HOL-OCL: Experiences, consequences and design choices, UML 2002: Model Engineering, Concepts and Tools, number 2460 in Lecture Notes in Computer Science, pp.196-211, 2002. ,
A proposal for a formal OCL semantics in Isabelle/HOL ,
The HOL-OCL book, p.45, 2006. ,
An extensible encoding of object-oriented data models in HOL, Journal of Automated Reasoning, vol.41, issue.141, pp.219-249, 2008. ,
Extensible universes for object-oriented data models, ECOOP 2008 ? Object-Oriented Programming, number 5142 in Lecture Notes in Computer Science, pp.438-462, 2008. ,
Semantics, calculi, and analysis for object-oriented specifications, Acta Informatica, vol.46, issue.127, pp.255-284, 1922. ,
VCC: A Practical System for Verifying Concurrent C, Theorem Proving in Higher Order Logics (TPHOLs), pp.23-42, 2009. ,
DOI : 10.1007/978-3-540-74591-4_15
Combinatory Logic §9E. 64 [Che76] Peter Pin-Shan Chen. The entity-relationship model ? toward a unified view of data, ACM Trans. Database Syst, vol.1, issue.11, pp.9-36, 1958. ,
The Amsterdam Manifesto on OCL, Lecture Notes in Computer Science, vol.2263, pp.115-149, 2002. ,
DOI : 10.1007/3-540-45669-4_7
Axiomatizing reflective logics and languages, Proceedings of Reflection'96, pp.263-288, 1996. ,
Verifying and reflecting quantifier elimination for presburger arithmetic Meta-reasoning: A survey, Logic for Programming 12th International Conference, LPAR 2005 Proceedings The Coq proof assistant reference manual, 2016. 89 [Cos02] Stefania Costantini Computational Logic: Logic Programming and Beyond, Essays in Honour of Robert A. Kowalski, Part II, volume 2408 of Lecture Notes in Computer Science, pp.367-380, 2002. ,
Non-null references by default in the Java modeling language, SAVCBS '05: Proceedings of the 2005 conference on Specification and verification of component-based systems, p.143, 2005. ,
OCL2FOL+: coping with undefinedness, Proceedings of the MODELS 2013 OCL Workshop co-located with the 16th International ACM/IEEE Conference on Model Driven Engineering Languages and Systems (MOD- ELS 2013) 1092 of CEUR Workshop Proceedings, pp.53-62, 2013. ,
A Tactic Language for the System Coq, Logic for Programming and Automated Reasoning, 7th International Conference Proceedings, pp.85-95, 1955. ,
DOI : 10.1007/3-540-44404-1_7
URL : https://hal.archives-ouvertes.fr/hal-01125070
Normalization and Partial Evaluation, Applied Semantics, International Summer School, APPSEM 2000, Caminha, PortugalDM82] Luís Damas and Robin Milner Conference Record of the Ninth Annual ACM Symposium on Principles of Programming Languages, pp.137-192, 1982. ,
DOI : 10.1007/3-540-45699-6_4
Z3: An Efficient SMT Solver, TACAS, pp.337-340, 2008. ,
DOI : 10.1007/978-3-540-78800-3_24
SIMULA: an ALGOL-based simulation language, Communications of the ACM, vol.9, issue.9, pp.671-678, 1966. ,
DOI : 10.1145/365813.365819
USE: A UML-based specification environment for validating UML and OCL, Science of Computer Programming, vol.69, issue.1-3, pp.27-34, 2007. ,
DOI : 10.1016/j.scico.2007.01.013
Edinburgh LCF: A Mechanised Logic of Computation, LNCS, vol.78, issue.62, p.70, 1979. ,
From LCF to HOL: a short history, Proof, Language, and Interaction: Essays in Honour of Robin Milner, pp.169-185, 2000. ,
Expressing UML Class Diagrams Properties with OCL, Lecture Notes in Computer Science, vol.2263, pp.85-114, 2002. ,
DOI : 10.1007/3-540-45669-4_6
Why We Can't have SML Style datatype Declarations in HOL, Higher Order Logic Theorem Proving and its Applications, Proceedings of the IFIP TC10/WG10.2 Workshop HOL'92, pp.21-24 ,
DOI : 10.1016/B978-0-444-89880-7.50042-5
Code generation from specifications in higherorder logic Code generation from Isabelle theories, p.85, 2009. ,
Metatheory and reflection in theorem proving: A survey and critique, p.67, 1995. ,
Reflections on the Object Constraint Language, The Unified Modeling Language. «UML»'98: Beyond the Notation, pp.162-172, 1998. ,
DOI : 10.1007/978-3-540-48480-6_13
A history of Haskell, Proceedings of the third ACM SIGPLAN conference on History of programming languages , HOPL III, pp.9-10, 2007. ,
DOI : 10.1145/1238844.1238856
Code generation via higherorder rewrite systems The formulae-as-types notion of constructions, Functional and Logic Programming, 10th International Symposium, FLOPS 2010 Proceedings, volume 6009 of Lecture Notes in Computer Science to H.B. Curry : Essays on Combinatory Logic, Lambda Calculus and Formalism, pp.29-60, 1969. ,
The gallina specification language: A case study ,
seL4, Communications of the ACM, vol.53, issue.6, pp.107-115, 2010. ,
DOI : 10.1145/1743546.1743574
The early history of smalltalk From UML and OCL to relational logic and back, History of Programming Languages Conference (HOPL-II) Model Driven Engineering Languages and Systems -15th International Conference Proceedings , volume 7590 of Lecture Notes in Computer Science, pp.69-95, 1993. ,
Executing underspecified ocl operation contracts with a sat solver, Proceedings of the the OCL 2008 Workshop, p.47, 2008. ,
Getting started with Dafny: A guide Software Safety and Security: Tools for Analysis and Verification, volume 33 of NATO Science for Peace and Security Series D: Information and Communication Security, pp.152-181, 2012. ,
On notation for ordinal numbers, The Journal of Symbolic Logic, vol.28, issue.04, pp.150-155, 1938. ,
DOI : 10.1215/S0012-7094-36-00227-2
Partial Recursive Functions in Higher-Order Logic ,
DOI : 10.1007/11814771_48
Defining Recursive Functions in Isabelle/HOL, 2016. ,
Didier Rémy, and Jérôme Vouillon. The OCaml system release 4.02: Documentation and user's manual, p.24, 2014. ,
Formal verification of a realistic compiler, Communications of the ACM, vol.52, issue.7 ,
DOI : 10.1145/1538788.1538814
URL : https://hal.archives-ouvertes.fr/inria-00415861
ESC/Java user's manual, p.49, 2000. ,
Towards a tool for featherweight OCL: A case study on semantic reflection, Proceedings of the MoDELS 2014 OCL Workshop (OCL 2014), volume 1285 of CEUR Workshop Proceedings, pp.43-52, 2014. ,
URL : https://hal.archives-ouvertes.fr/hal-01214466
On the Expressive Power of OCL, World Congress on Formal Methods in the Development of Computing Systems (FM), pp.854-874, 1999. ,
DOI : 10.1007/3-540-48119-2_47
LISP 1.5 Programmer???s Manual, p.12, 1965. ,
DOI : 10.1007/978-3-662-09507-2_12
A package for inductive relation definitions in HOL, Proceedings of the 1991 International Workshop on the HOL Theorem Proving System and its Applications, pp.350-357, 1991. ,
Conditional rewriting logic as a unified model of concurrency, Theoretical Computer Science, vol.96, issue.1, pp.73-155, 1992. ,
DOI : 10.1016/0304-3975(92)90182-F
Object-oriented Software Construction A theory of type polymorphism in programming, J. Comput. Syst. Sci, vol.48, issue.173, pp.142348-375, 1978. ,
An Intuitionistic Theory of Types: Predicative Part ,
DOI : 10.1016/S0049-237X(08)71945-1
Intuitionistic type theory Naples: Bibliopolis, 1984. 76 [Mog91] Eugenio Moggi. Notions of computation and monads, Inf. Comput, vol.93, issue.1, pp.55-92, 1991. ,
Translating Higher-Order Clauses to First-Order Clauses, Journal of Automated Reasoning, vol.9, issue.2, pp.35-60, 2008. ,
DOI : 10.1007/s10817-007-9085-y
Efficient parallel programming in poly/ml and isabelle/ml, Proceedings of the POPL 2010 Workshop on Declarative Aspects of Multicore Programming, pp.53-62, 2010. ,
An Isabelle Proof Method Language, Interactive Theorem Proving -5th International Conference Proceedings, pp.390-405, 2014. ,
DOI : 10.1007/978-3-319-08970-6_25
Isabelle in certification processes, p.98, 2015. ,
Proof Assistant for Higher-Order Logic, volume 2283 of Lecture Notes in Computer Science, p.33, 2002. ,
Isabelle's logic: HOL, The HOL System Tutorial, pp.14-26, 2009. ,
An overview of the scala programming language, 2004. ,
Isabelle's Logics, 2016. ,
Three years of experience with sledgehammer, a practical link between automatic and interactive theorem provers, The 8th International Workshop on the Implementation of Logics, IWIL 2010, pp.1-11, 2010. ,
Source-level proof reconstruction for interactive theorem proving, Theorem Proving in Higher Order Logics, 20th International Conference Proceedings, pp.232-245, 2007. ,
OCL: Syntax, semantics, and tools Object Modeling with the OCL: The Rationale behind the Object Constraint Language, volume 2263 of Lecture Notes in Computer Science [Ric02] Mark Richters. A Precise Approach to Validating UML Models and OCL Constraints Collaborative interactive theorem proving with clide, SH-4 Software Manual Interactive Theorem Proving -5th International Conference, ITP 2014, Held as Part of the Vienna Summer of Logic Proceedings, pp.142-184, 2002. ,
Certification of an Instruction Set Simulator. Theses, 0141. ,
URL : https://hal.archives-ouvertes.fr/tel-00937524
Reflections and semantics in a procedural language, p.87, 1982. ,
Reflection and semantics in LISP, Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages , POPL '84, pp.23-35, 1984. ,
DOI : 10.1145/800017.800513
First steps towards the certification of an ARM simulator using compcert Steunebrink and Jürgen Schmidhuber. Towards an actual gödel machine implementation: A lesson in self-reflective systems, Certified Programs and Proofs -First International Conference. Proceedings Theoretical Foundations of Artificial General Intelligence, pp.346-361, 2011. ,
Towards a unified language based on equational logic, rewriting logic, and type theory, p.76, 2002. ,
C++ programming language, IEEE Software, vol.3, issue.1, pp.71-72, 1986. ,
Lectures on the Curry- Howard isomorphism, p.38, 2006. ,
Foundational, Compositional (Co)datatypes for Higher-Order Logic: Category Theory Applied to Theorem Proving, 2012 27th Annual IEEE Symposium on Logic in Computer Science, pp.596-605, 2012. ,
DOI : 10.1109/LICS.2012.75
A meta-model for the isabelle API Archive of Formal Proofs http:// www.isa-afp.org/entries/Isabelle_Meta_Model.shtml, Formal proof development, pp.71-85, 2015. ,
Reflecting bdds in coq Advances in Computing Science -ASIAN 2000, 6th Asian Computing Science Conference Python programming language How to make ad-hoc polymorphism less ad-hoc Makarius Wenzel and Amine Chaieb. SML with antiquotations embedded into Isabelle/Isar, Proceedings, volume 1961 of Lecture Notes in Computer Science Proceedings of the 2007 USENIX Annual Technical Conference Conference Record of the Sixteenth Annual ACM Symposium on Principles of Programming Languages Programming Languages for Mechanized Mathematics Workshop (CAL- CULEMUS 2007), number 07-10 in RISC-Linz Report. RISC, pp.162-181, 1989. ,
Type classes and overloading in higher-order logic ,
DOI : 10.1007/BFb0028402
Isar ??? A Generic Interpretative Approach to Readable Formal Proof Documents, Theorem Proving in Higher Order Logics, 12th International Conference , TPHOLs'99 Proceedings, volume 1690 of Lecture Notes in Computer Science, pp.167-184, 1999. ,
DOI : 10.1007/3-540-48256-3_12
Isabelle/Isar ? a versatile environment for human-readable formal proof documents, p.21, 2002. ,
Parallel proof checking in Isabelle/Isar, ACM SIGSAM Workshop on Programming Languages for Mechanized Mathematics Systems, 2009. ,
Asynchronous Proof Processing with Isabelle/Scala and Isabelle/jEdit, Electronic Notes in Theoretical Computer Science, vol.285, pp.101-114, 2012. ,
DOI : 10.1016/j.entcs.2012.06.009
The Isabelle/Isar Implementation, p.70, 2016. ,
Prolegomena to a theory of mechanized formal reasoning, Artificial intelligence, vol.13, issue.12, pp.133-170, 1980. ,
Reasoning Building formal method tools in the Isabelle/Isar framework, TPHOLS 2007, number 4732 in Lecture Notes in Computer Science, pp.389-411, 2002. ,