• Keine Ergebnisse gefunden

Theorembeweiserpraktikum Anwendungen in der Sprachtechnologie

N/A
N/A
Protected

Academic year: 2022

Aktie "Theorembeweiserpraktikum Anwendungen in der Sprachtechnologie"

Copied!
40
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

IPD Snelting, Lehrstuhl Programmierparadigmen

http://pp.info.uni-karlsruhe.de/lehre/SS2010/tba/

Daniel Wasserrab

Theorembeweiserpraktikum

Anwendungen in der Sprachtechnologie

(2)

Teil III

Quantoren in Isabelle/HOL

(3)

Quantoren in Isabelle/HOL

Die ¨ublichen zwei Quantoren der Logik:

Existenzquantor: (geschrieben\<exists>), Syntax:x. P Allquantor: (geschrieben\<forall>), Syntax:x. P

G ¨ultigkeitsbereich der gebundenen Variablen: bis zum n ¨achsten ; bzw.=⇒ Beispiele:

∀x. P x =⇒ Q x: xin Konklusion nicht gebunden durch Allquantor

P y =⇒ ∃y. P y: yin Pr ¨amisse nicht gebunden durch Existenzquantor [[∀x. P x; ∃x. Q x]] =⇒ R:

Zwei verschiedenexin den Annahmen

gleichbedeutend mit[[∀y. P y; ∃z. Q z]] =⇒ R (gebundene Namen sind Schall und Rauch)

∀x. P x −→ Q x: gleichesxf ¨urPundQ

(4)

Quantoren in Isabelle/HOL

Die ¨ublichen zwei Quantoren der Logik:

Existenzquantor: (geschrieben\<exists>), Syntax:x. P Allquantor: (geschrieben\<forall>), Syntax:x. P

G ¨ultigkeitsbereich der gebundenen Variablen: bis zum n ¨achsten ; bzw.=⇒

Beispiele:

∀x. P x =⇒ Q x: xin Konklusion nicht gebunden durch Allquantor

P y =⇒ ∃y. P y: yin Pr ¨amisse nicht gebunden durch Existenzquantor [[∀x. P x; ∃x. Q x]] =⇒ R:

Zwei verschiedenexin den Annahmen

gleichbedeutend mit[[∀y. P y; ∃z. Q z]] =⇒ R (gebundene Namen sind Schall und Rauch)

∀x. P x −→ Q x: gleichesxf ¨urPundQ

(5)

Quantoren in Isabelle/HOL

Die ¨ublichen zwei Quantoren der Logik:

Existenzquantor: (geschrieben\<exists>), Syntax:x. P Allquantor: (geschrieben\<forall>), Syntax:x. P

G ¨ultigkeitsbereich der gebundenen Variablen: bis zum n ¨achsten ; bzw.=⇒ Beispiele:

∀x. P x =⇒ Q x: xin Konklusion nicht gebunden durch Allquantor

P y =⇒ ∃y. P y: yin Pr ¨amisse nicht gebunden durch Existenzquantor [[∀x. P x; ∃x. Q x]] =⇒ R:

Zwei verschiedenexin den Annahmen

gleichbedeutend mit[[∀y. P y; ∃z. Q z]] =⇒ R (gebundene Namen sind Schall und Rauch)

∀x. P x −→ Q x: gleichesxf ¨urPundQ

(6)

Quantoren in Isabelle/HOL

Die ¨ublichen zwei Quantoren der Logik:

Existenzquantor: (geschrieben\<exists>), Syntax:x. P Allquantor: (geschrieben\<forall>), Syntax:x. P

G ¨ultigkeitsbereich der gebundenen Variablen: bis zum n ¨achsten ; bzw.=⇒ Beispiele:

∀x. P x =⇒ Q x: xin Konklusion nicht gebunden durch Allquantor P y =⇒ ∃y. P y: yin Pr ¨amisse nicht gebunden durch Existenzquantor

[[∀x. P x; ∃x. Q x]] =⇒ R:

Zwei verschiedenexin den Annahmen

gleichbedeutend mit[[∀y. P y; ∃z. Q z]] =⇒ R (gebundene Namen sind Schall und Rauch)

∀x. P x −→ Q x: gleichesxf ¨urPundQ

(7)

Quantoren in Isabelle/HOL

Die ¨ublichen zwei Quantoren der Logik:

Existenzquantor: (geschrieben\<exists>), Syntax:x. P Allquantor: (geschrieben\<forall>), Syntax:x. P

G ¨ultigkeitsbereich der gebundenen Variablen: bis zum n ¨achsten ; bzw.=⇒ Beispiele:

∀x. P x =⇒ Q x: xin Konklusion nicht gebunden durch Allquantor P y =⇒ ∃y. P y: yin Pr ¨amisse nicht gebunden durch Existenzquantor [[∀x. P x; ∃x. Q x]] =⇒ R:

Zwei verschiedenexin den Annahmen

gleichbedeutend mit[[∀y. P y; ∃z. Q z]] =⇒ R (gebundene Namen sind Schall und Rauch)

∀x. P x −→ Q x: gleichesxf ¨urPundQ

(8)

Quantoren in Isabelle/HOL

Die ¨ublichen zwei Quantoren der Logik:

Existenzquantor: (geschrieben\<exists>), Syntax:x. P Allquantor: (geschrieben\<forall>), Syntax:x. P

G ¨ultigkeitsbereich der gebundenen Variablen: bis zum n ¨achsten ; bzw.=⇒ Beispiele:

∀x. P x =⇒ Q x: xin Konklusion nicht gebunden durch Allquantor P y =⇒ ∃y. P y: yin Pr ¨amisse nicht gebunden durch Existenzquantor [[∀x. P x; ∃x. Q x]] =⇒ R:

Zwei verschiedenexin den Annahmen

gleichbedeutend mit[[∀y. P y; ∃z. Q z]] =⇒ R (gebundene Namen sind Schall und Rauch)

∀x. P x −→ Q x: gleichesxf ¨urPundQ

(9)

Wie sagt man es Isabelle...?

Argumentation mit Quantoren erfordert Aussagen ¨uberbeliebigeWerte Nur: wie weiss Isabelle, das ein Wertbeliebigist?

L ¨osung:Meta-Logik!

xin einer Aussage beliebig: brauchen Quantor daf ¨ur Syntax in Isabelle:Vx. [[. . .]] =⇒ . . .

VheisstMeta-Allquantor, Variablen dahinterParameter G ¨ultigkeitsbereich der Parameter: ganzes Subgoal

Beispiel:Vx y. [[∀y. P y −→ Q z y; Q x y]] =⇒ ∃x. Q x y entsprichtVx y. [[∀y1. P y1 −→ Q z y1; Q x y]] =⇒ ∃x1. Q x1 y Auch=⇒ist Teil der Meta-Logik, entsprichtMeta-Implikation Trennt Annahmen und Konklusion

∀ und−→entsprechen nichtVund=⇒, die ersten beiden nur in HOL!

(10)

Wie sagt man es Isabelle...?

Argumentation mit Quantoren erfordert Aussagen ¨uberbeliebigeWerte Nur: wie weiss Isabelle, das ein Wertbeliebigist?

L ¨osung:Meta-Logik!

xin einer Aussage beliebig: brauchen Quantor daf ¨ur Syntax in Isabelle:Vx. [[. . .]] =⇒ . . .

VheisstMeta-Allquantor, Variablen dahinterParameter G ¨ultigkeitsbereich der Parameter: ganzes Subgoal

Beispiel:Vx y. [[∀y. P y −→ Q z y; Q x y]] =⇒ ∃x. Q x y entsprichtVx y. [[∀y1. P y1 −→ Q z y1; Q x y]] =⇒ ∃x1. Q x1 y

Auch=⇒ist Teil der Meta-Logik, entsprichtMeta-Implikation Trennt Annahmen und Konklusion

∀ und−→entsprechen nichtVund=⇒, die ersten beiden nur in HOL!

(11)

Wie sagt man es Isabelle...?

Argumentation mit Quantoren erfordert Aussagen ¨uberbeliebigeWerte Nur: wie weiss Isabelle, das ein Wertbeliebigist?

L ¨osung:Meta-Logik!

xin einer Aussage beliebig: brauchen Quantor daf ¨ur Syntax in Isabelle:Vx. [[. . .]] =⇒ . . .

VheisstMeta-Allquantor, Variablen dahinterParameter G ¨ultigkeitsbereich der Parameter: ganzes Subgoal

Beispiel:Vx y. [[∀y. P y −→ Q z y; Q x y]] =⇒ ∃x. Q x y entsprichtVx y. [[∀y1. P y1 −→ Q z y1; Q x y]] =⇒ ∃x1. Q x1 y Auch=⇒ist Teil der Meta-Logik, entsprichtMeta-Implikation Trennt Annahmen und Konklusion

∀ und−→entsprechen nichtVund=⇒, die ersten beiden nur in HOL!

(12)

Wie sagt man es Isabelle...?

Argumentation mit Quantoren erfordert Aussagen ¨uberbeliebigeWerte Nur: wie weiss Isabelle, das ein Wertbeliebigist?

L ¨osung:Meta-Logik!

xin einer Aussage beliebig: brauchen Quantor daf ¨ur Syntax in Isabelle:Vx. [[. . .]] =⇒ . . .

VheisstMeta-Allquantor, Variablen dahinterParameter G ¨ultigkeitsbereich der Parameter: ganzes Subgoal

Beispiel:Vx y. [[∀y. P y −→ Q z y; Q x y]] =⇒ ∃x. Q x y entsprichtVx y. [[∀y1. P y1 −→ Q z y1; Q x y]] =⇒ ∃x1. Q x1 y Auch=⇒ist Teil der Meta-Logik, entsprichtMeta-Implikation Trennt Annahmen und Konklusion

∀ und−→entsprechen nichtVund=⇒, die ersten beiden nur in HOL!

(13)

Regeln

Jeder Quantor Introduktions- und Eliminationsregel:

allI: (V

x. P x) =⇒ ∀x. P x

Eine Aussage gilt f ¨ur beliebigex(Meta-Ebene), also gilt sie auch f ¨ur alle (HOL-Ebene)

allE:[[∀x. P x; P ?x =⇒ R]] =⇒ R

Eine Aussage gilt f ¨ur allex, also folgt die Konklusion auch,

wenn diese Aussage f ¨ur irgendeine (selbst w ¨ahlbare) Variablexgilt Vorsicht:xnach Anwendung der Regel beliebige Variable (?x)!

M ¨oglichst gleich spezifizieren ducherule_tac

(14)

Regeln

Jeder Quantor Introduktions- und Eliminationsregel:

allI: (V

x. P x) =⇒ ∀x. P x

Eine Aussage gilt f ¨ur beliebigex(Meta-Ebene), also gilt sie auch f ¨ur alle (HOL-Ebene)

allE:[[∀x. P x; P ?x =⇒ R]] =⇒ R

Eine Aussage gilt f ¨ur allex, also folgt die Konklusion auch,

wenn diese Aussage f ¨ur irgendeine (selbst w ¨ahlbare) Variablexgilt Vorsicht:xnach Anwendung der Regel beliebige Variable (?x)!

M ¨oglichst gleich spezifizieren ducherule_tac

(15)

Regeln

Jeder Quantor Introduktions- und Eliminationsregel:

allI: (V

x. P x) =⇒ ∀x. P x

Eine Aussage gilt f ¨ur beliebigex(Meta-Ebene), also gilt sie auch f ¨ur alle (HOL-Ebene)

allE:[[∀x. P x; P ?x =⇒ R]] =⇒ R

Eine Aussage gilt f ¨ur allex, also folgt die Konklusion auch,

wenn diese Aussage f ¨ur irgendeine (selbst w ¨ahlbare) Variablexgilt Vorsicht:xnach Anwendung der Regel beliebige Variable (?x)!

M ¨oglichst gleich spezifizieren ducherule_tac

(16)

Regeln

exI: P ?x =⇒ ∃x. P x

Eine Aussage gilt f ¨ur eine Variablex, also gibt es einx, wof ¨ur sie gilt Vorsicht:xnach Anwendung der Regel beliebige Variable (?x)!

M ¨oglichst gleich spezifizieren duchrule_tac

exE:[[∃x. P x; V

x. P x =⇒ Q]] =⇒ Q

Eine Aussage gilt f ¨ur einx, also folgt die Konklusion auch,

wenn diese Aussage f ¨ur eine beliebige (vorgegebene!) Variable gilt.

(17)

Regeln

exI: P ?x =⇒ ∃x. P x

Eine Aussage gilt f ¨ur eine Variablex, also gibt es einx, wof ¨ur sie gilt Vorsicht:xnach Anwendung der Regel beliebige Variable (?x)!

M ¨oglichst gleich spezifizieren duchrule_tac exE:[[∃x. P x; V

x. P x =⇒ Q]] =⇒ Q

Eine Aussage gilt f ¨ur einx, also folgt die Konklusion auch,

wenn diese Aussage f ¨ur eine beliebige (vorgegebene!) Variable gilt.

(18)

Variablen festlegen bei Regelanwendung

Den RegelnallEundexIgemeinsam:

nach Anwendung der entsprechenden Methodik (alsoerulebzw.rule) unspezifizierte Variablen (?x) in Subgoal

meist nicht gewollt, da schlecht Aussagen dar ¨uber m ¨oglich Besser: entsprechende Variable gleich festlegen

Methodik:rule_tac v1 = t1 and . . . and vk = tk in R,

?v1,. . .,?vkfreie Variable in der anzuwendenden RegelR

(nicht im aktuellen Subgoal!) analog:erule_tac

also m ¨oglichst immerapply(rule_tac x=gewollte Variable in exI) bzw.apply(erule_tac x=gewollte Variable in allE)

(19)

Variablen festlegen bei Regelanwendung

Den RegelnallEundexIgemeinsam:

nach Anwendung der entsprechenden Methodik (alsoerulebzw.rule) unspezifizierte Variablen (?x) in Subgoal

meist nicht gewollt, da schlecht Aussagen dar ¨uber m ¨oglich Besser: entsprechende Variable gleich festlegen

Methodik:rule_tac v1 = t1 and . . . and vk = tk in R,

?v1,. . .,?vkfreie Variable in der anzuwendenden RegelR

(nicht im aktuellen Subgoal!) analog:erule_tac

also m ¨oglichst immerapply(rule_tac x=gewollte Variable in exI) bzw.apply(erule_tac x=gewollte Variable in allE)

(20)

Variablen festlegen bei Regelanwendung

Den RegelnallEundexIgemeinsam:

nach Anwendung der entsprechenden Methodik (alsoerulebzw.rule) unspezifizierte Variablen (?x) in Subgoal

meist nicht gewollt, da schlecht Aussagen dar ¨uber m ¨oglich Besser: entsprechende Variable gleich festlegen

Methodik:rule_tac v1 = t1 and . . . and vk = tk in R,

?v1,. . .,?vkfreie Variable in der anzuwendenden RegelR

(nicht im aktuellen Subgoal!) analog:erule_tac

also m ¨oglichst immerapply(rule_tac x=gewollte Variable in exI) bzw.apply(erule_tac x=gewollte Variable in allE)

(21)

Teil IV

Fallunterscheidung und Definition

(22)

Fallunterscheidung

In (klassischen) Beweisen Fallunterscheidung wichtiges Hilfsmittel

In Isabelle: einfach durchapplyder Methodecases P (Pbeliebiges boolesches Pr ¨adikat)

teilt aktuelles Subgoal in 2 neue auf:

erstes mitPzus ¨atzlich in den Annahmen zweites mit¬ Pin den Annahmen

(23)

Fallunterscheidung

In (klassischen) Beweisen Fallunterscheidung wichtiges Hilfsmittel In Isabelle: einfach durchapplyder Methodecases P

(Pbeliebiges boolesches Pr ¨adikat) teilt aktuelles Subgoal in 2 neue auf:

erstes mitPzus ¨atzlich in den Annahmen zweites mit¬ Pin den Annahmen

(24)

Fallunterscheidung: Beispiel

aktuelles Subgoal: 1.[[B; C]] =⇒ A ∧ B ∨ ¬ A ∧ C sonicht(einfach)l ¨osbar!

jedoch nachapply (cases A)neue Subgoals:

1.[[B; C; A]] =⇒ A ∧ B ∨ ¬ A ∧ C

2.[[B; C; ¬ A]] =⇒ A ∧ B ∨ ¬ A ∧ C

jetzt einfach mit Introduktionsregeln f ¨urundzu l ¨osen

(25)

Fallunterscheidung: Beispiel

aktuelles Subgoal: 1.[[B; C]] =⇒ A ∧ B ∨ ¬ A ∧ C sonicht(einfach)l ¨osbar!

jedoch nachapply (cases A)neue Subgoals:

1.[[B; C; A]] =⇒ A ∧ B ∨ ¬ A ∧ C

2.[[B; C; ¬ A]] =⇒ A ∧ B ∨ ¬ A ∧ C

jetzt einfach mit Introduktionsregeln f ¨urundzu l ¨osen

(26)

Fallunterscheidung: Beispiel

aktuelles Subgoal: 1.[[B; C]] =⇒ A ∧ B ∨ ¬ A ∧ C sonicht(einfach)l ¨osbar!

jedoch nachapply (cases A)neue Subgoals:

1.[[B; C; A]] =⇒ A ∧ B ∨ ¬ A ∧ C

2.[[B; C; ¬ A]] =⇒ A ∧ B ∨ ¬ A ∧ C

jetzt einfach mit Introduktionsregeln f ¨urundzu l ¨osen

(27)

Fallunterscheidung: Beispiel

aktuelles Subgoal: 1.[[B; C]] =⇒ A ∧ B ∨ ¬ A ∧ C sonicht(einfach)l ¨osbar!

jedoch nachapply (cases A)neue Subgoals:

1.[[B; C; A]] =⇒ A ∧ B ∨ ¬ A ∧ C

2.[[B; C; ¬ A]] =⇒ A ∧ B ∨ ¬ A ∧ C

jetzt einfach mit Introduktionsregeln f ¨urundzu l ¨osen

(28)

Fallunterscheidung: Beispiel

aktuelles Subgoal: 1.[[B; C]] =⇒ A ∧ B ∨ ¬ A ∧ C sonicht(einfach)l ¨osbar!

jedoch nachapply (cases A)neue Subgoals:

1.[[B; C; A]] =⇒ A ∧ B ∨ ¬ A ∧ C

2.[[B; C; ¬ A]] =⇒ A ∧ B ∨ ¬ A ∧ C

jetzt einfach mit Introduktionsregeln f ¨urundzu l ¨osen

(29)

definition

Erm ¨oglicht direkte Definition von nichtrekursiven Funktionen verbindet Deklaration mit Definition der Funktion

Beispiel: Funktionnand(= “not and”) definition nand :: bool ⇒ bool ⇒ bool

where "nand A B ≡ ¬ (A ∧ B)"

automatisch generierte Simplifikationsregel:nand_def (allgemeinFunktionsname_def)

kann dem Simplifier ¨ubergeben werden

(30)

definition

Erm ¨oglicht direkte Definition von nichtrekursiven Funktionen verbindet Deklaration mit Definition der Funktion

Beispiel: Funktionnand(= “not and”) definition nand :: bool ⇒ bool ⇒ bool

where "nand A B ≡ ¬ (A ∧ B)"

automatisch generierte Simplifikationsregel:nand_def (allgemeinFunktionsname_def)

kann dem Simplifier ¨ubergeben werden

(31)

definition

Erm ¨oglicht direkte Definition von nichtrekursiven Funktionen verbindet Deklaration mit Definition der Funktion

Beispiel: Funktionnand(= “not and”) definition nand :: bool ⇒ bool ⇒ bool

where "nand A B ≡ ¬ (A ∧ B)"

automatisch generierte Simplifikationsregel:nand_def (allgemeinFunktionsname_def)

kann dem Simplifier ¨ubergeben werden

(32)

definition

nandbin ¨arer Operator=⇒Infixoperator bietet sich an Syntaxdefinition in Isabelle durch Anh ¨angen des Ausdrucks (infixl "./" n)an die Deklarationszeile, wobei

infixlf ¨ur linksgebundenen Infixoperator steht, analoginfixrf ¨ur rechtsgebundene

./ein beliebig w ¨ahlbares Symbol f ¨ur den Operator ist nZahl, welche die Pr ¨azedenz dieses Operators angibt Kann jetztA ./ Bstattnand A Bschreiben

(33)

Teil V

Simplifikation

(34)

Simplifikation

genauer: Termersetzung, weil Ausdruck nicht notwendigerweise einfacher Simplifikationsregeln: Gleichung

entsprechende Taktik:simp

besitzt Pool an Termersetzungsregeln

pr ¨uft f ¨ur jede solche Regel, ob Term mit linker Seite einer Gleichung unifizierbar

falls ja, ersetzen mit entsprechend unifizierter rechten Seite

Beispiel: aktuelles Subgoal:C =⇒ if b then s1 else s2 simpwendet folgende Termersetzungsregel an:

if ?x then ?m else ?n = ((?x −→ ?m) ∧ (¬ ?x −→ ?n)) Resultat:C =⇒ (b −→ s1) ∧ (¬ b −→ s2)

(35)

Simplifikation

genauer: Termersetzung, weil Ausdruck nicht notwendigerweise einfacher Simplifikationsregeln: Gleichung

entsprechende Taktik:simp

besitzt Pool an Termersetzungsregeln

pr ¨uft f ¨ur jede solche Regel, ob Term mit linker Seite einer Gleichung unifizierbar

falls ja, ersetzen mit entsprechend unifizierter rechten Seite Beispiel: aktuelles Subgoal:C =⇒ if b then s1 else s2 simpwendet folgende Termersetzungsregel an:

if ?x then ?m else ?n = ((?x −→ ?m) ∧ (¬ ?x −→ ?n)) Resultat:C =⇒ (b −→ s1) ∧ (¬ b −→ s2)

(36)

Simplifikation

Auch bedingte Ersetzungsregeln sind m ¨oglich, also in der Form [[. . .]] =⇒ . . . = . . .

dazu: Pr ¨amissen der Regel mit aktuellen Annahmen unifizierbar

Simplifier modifizieren:

selbstgeschriebene Simplifikationslemmas zu Taktik hinzuf ¨ugen: apply(simp add:Regel1Regel2. . .)

nur bestimmte Ersetzungsregeln verwenden: apply(simp only:Regel1Regel2. . .)

Ersetzungsregeln aus dem Standardpool vonsimpentfernen: apply(simp del:Regel1Regel2. . .)

(37)

Simplifikation

Auch bedingte Ersetzungsregeln sind m ¨oglich, also in der Form [[. . .]] =⇒ . . . = . . .

dazu: Pr ¨amissen der Regel mit aktuellen Annahmen unifizierbar Simplifier modifizieren:

selbstgeschriebene Simplifikationslemmas zu Taktik hinzuf ¨ugen:

apply(simp add:Regel1Regel2. . .)

nur bestimmte Ersetzungsregeln verwenden:

apply(simp only:Regel1Regel2. . .)

Ersetzungsregeln aus dem Standardpool vonsimpentfernen:

apply(simp del:Regel1Regel2. . .)

(38)

Simplifikation

Auch m ¨oglich: Ersetzungsregeln in den Standardpool vonsimpeinf ¨ugen Zwei Varianten:

Zusatz[simp]hinter Lemmanamen

Beispiel:lemma bla [simp]: "A = True =⇒ A ∧ B = B"

mittelsdeclare [simp]

Beispiel:declare [simp]: foo bar

Analog: mittelsdeclare [simp del]Ersetzungsregeln aus Standardpool entfernen

Vorsicht!

Nur Regeln zu Standardpool hinzuf ¨ugen, dessen rechte Seite einfacher als linke Seite!

Sicherstellen, dasssimpdurch neue Regeln nicht in Endlosschleifen h ¨angenbleibt!

(39)

Simplifikation

Auch m ¨oglich: Ersetzungsregeln in den Standardpool vonsimpeinf ¨ugen Zwei Varianten:

Zusatz[simp]hinter Lemmanamen

Beispiel:lemma bla [simp]: "A = True =⇒ A ∧ B = B"

mittelsdeclare [simp]

Beispiel:declare [simp]: foo bar

Analog: mittelsdeclare [simp del]Ersetzungsregeln aus Standardpool entfernen

Vorsicht!

Nur Regeln zu Standardpool hinzuf ¨ugen, dessen rechte Seite einfacher als linke Seite!

Sicherstellen, dasssimpdurch neue Regeln nicht in Endlosschleifen

(40)

Einschub: Arbeiten mit apply-Skripten

nachapplymehrere Regelanwendungen bzw. Taktiken hintereinander Bsp:apply(simp,rule foo,auto)

regul ¨are Ausdr ¨ucke:

+hinter Regel bzw. Taktik wendet diese ein- oder mehrfach an Bsp:apply(assumption)+

?analog f ¨ur null- oder einfache Anwendung Bsp:apply(assumption)?

|zwischen zwei Regeln bzw. Taktiken wendet die erste an, bei Nichtgelingen zweite; Bsp:apply(assumption|arith) byersetzt letzteapply-Regelanwendung bzw. Taktik unddone alleassumptionAnwendungen nachapplyautomatisch angewandt Bsp: stattapply(rule foo,assumption,assumption) done

nurby(rule foo)

Referenzen

ÄHNLICHE DOKUMENTE

Ersetzungsregeln aus dem Standardpool von simp entfernen: apply(simp del: Regel 1 Regel 2... Auch bedingte Ersetzungsregeln sind möglich, also in der

I Links steht der Head, der aus einem Funktor und beliebig vielen Literalen oder Variablen besteht. I Die Klauseln werden mit einem , für eine UND-Verknüpfung und mit ; für

Durch mehrfache Anwendung der Keplerschen Regel mit einer geraden Anzahl n gleich breiter Streifen der Breite h erhält man die

[r]

Ein Fund , den ieh in Paris gemacht habe und den ich Ihnen mitzutbeilen mich beeile , betriSt einen demotischen enggeschriebenen Papyrus auf Jer Natioaalbibliothek (Catal. 1892) von

Die Schüler sollen  eine Vorstellung davon entwickeln, was die „Goldene Regel“ sein könnte,  sich der Bedeutung von Regeln bewusst werden,  sich intensiv mit der Goldenen

(Grösse, Farbe, Form oder Dicke) D =

Dies gilt auch für Inhalte Dritter, die über dieses Angebot zugänglich sind... Ein Dienst der ETH-Bibliothek ETH Zürich, Rämistrasse 101, 8092 Zürich, Schweiz,