• Keine Ergebnisse gefunden

Formale Methoden der Softwaretechnik Formal methods of software engineering

N/A
N/A
Protected

Academic year: 2022

Aktie "Formale Methoden der Softwaretechnik Formal methods of software engineering"

Copied!
6
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Modeling with CASL

Formale Methoden der Softwaretechnik Formal methods of software engineering

Till Mossakowski, Christoph L¨uth

SoSe 2011

(2)

Modeling with CASL

TW consequence 6= FO consequence

We have encountered arguments that are valid in Tarski’s World but not FO valid.

∀x(Cube(x)↔SameShape(x,c)) Cube(c)

The replacement method yields an invalid argument:

∀x(P(x)↔Q(x,c)) P(c)

(3)

Modeling with CASL

The axiomatic method

Axiomatic method: bridge the gap between Tarski’s World validity and FO validity by systematically expressing facts about the meanings of the predicates, and introduce them asaxioms. Axioms restrict the possible interpretation of predicates.

Axioms may be used as premises within arguments/proofs.

(4)

Modeling with CASL

The argument revisited

∀x(Cube(x)↔SameShape(x,c))

∀xSameShape(x,x) Cube(c)

The replacement method yields a valid argument:

∀x(P(x)↔Q(x,c))

∀xQ(x,x) P(c)

(5)

Modeling with CASL

Common Algebraic Specification Language

strongly typed; types are declated using the sort keyword sort Blocks

predicates have to be declared with their types preds Cube, Dodec, Tet : Blocks

preds LeftOf, RightOf, SameShape : Blocks * Blocks propositional variables = nullary predicates

preds A,B,C : ()

constants have to be declared with their types ops a,b,c : Blocks

(6)

Modeling with CASL

Example CASL specification: blocks

spec Tarski1 = sort Blocks

preds Cube, Dodec, Tet, Small, Medium, Large : Blocks ops a,b,c : Blocks

. not a=b . not a=c . not b=c

. Small(a) => Cube(a) %(small_cube_a)%

. Small(a) <=> Small(b) %(small_a_b)%

. Small(b) \/ Medium(b) %(small_medium_b)%

. Medium(b) => Medium(c) %(medium_b_c)%

. Medium(c) => Tet(c) %(medium_tet_c)%

. not Tet(c) %(not_tet_c)%

. Cube(a) %(cube_a)% %implied

. Cube(b) %(cube_b)% %implied

Referenzen

ÄHNLICHE DOKUMENTE

The hemiclamshell incision consists of a median sternotomy combined with an anterolateral thoracotomy and gives excellent exposure of the mediastinum and the involved chest cavity,

Higher-order logic, interactive provers (Isabelle/HOL) fragments of C and their specification languages Hoare logic (specification of pre and post conditions) embedded systems,

Otherwise, assigning false to the yet unassigned atomic sentences makes all the conditionals (and hence also the Horn sentence) true.... Correctness of the

SPASS is a theorem prover for finite theories in first-order logic Induction is an axiom schema (with infinitely many instances) In Hets, select “CASL2SoftFOLInduction2”; then

clogged radiator Radiator is clogged defective carburetor Carburetor is defective worn rings Piston rings are worn worn seals Valve seals are worn replace auxiliary Replace

It has been financed by the European Union (EU) and created with a view to building a network of medium-sized cities across Europe for exchanging good practices

Taking the example of the work of speech analysts who identify discursive strategies that contribute to silencing, resisting, or reproducing relations of oppression, it runs

Theorems 2 and 4 suggest that the assumption of pure market commodity production in one form or another together with that of the impossibility of complete automation will