Here you can ask questions and find or give answers to organizational, academic and other questions about studying computer science.

1.1k questions

1.3k answers

1.7k comments

557 users

0 votes

ist die Klammerung des Hinweises richtig?

Falls ja bitte um Herleitung. Danke

Die vollständige Klammerung soll gegeben werden.

Im Folgenden sein ∆ := Lambda

( ∆x  y --> ( ∆x  y --> a  y  x)  y  x)

( ∆x  --> ( ∆y --> ( ∆x  y --> a  y  x))  y  x)

( ∆x  --> ( ∆y --> ( ∆x  -->(∆y --> a  y  x)))  y  x) Ich denke, dass hier sollte richtig sein. Demnach sei also eine Klammer im Hinweis falsch!?

Meine Annahme für die Umformung war:

∆a r -->(b+r)

wird umgeformt zu

∆a -->(∆r --> (b+r))

D.h. um von Kurzschreibweise auf ausführliche Schriebweise mit Klammerung um zu formen, werden insgesammt vier Zeichen eingefügt, weobei --> als ein Zeichen gezählt wird

-->(∆ ............. )

( x y ! ( x y ! a y x) y x)

Hinweis: Die komplette Klammerung des obigen Ausdrucks ist wie folgt:

( x ! ( y ! (( x ! ( y ! (a y) x)) y) x))

in # Mandatory Modules Bachelor by (200 points)

1 Answer

+1 vote

1. (λx y (λx y a y x) y x) // kurze Schreibweise

2. (λx (λy ((λ(λ(a y) x)) y) x)) // volle Klammerung

3. (λ→ (λy → (λ (λy → a  y  x)))  y  x) // Ihre Klammerung

Die Klammern sind korrekt so wie Sie sie gesetzt haben. Man kann aber noch weitere Klammern einfügen.

Für Funktionsaufrufe gilt:

f x y = (f x) y

(das heißt y ist ein Parameter für die Funktion (f x) und nicht ein Parameter von x)

Daher kommen die anderen beiden Klammerpaare in der Aufgabenstellung.

Die Regeln für die verkürzte Schreibweise sind übrigens im Skript 25 (Programmierparadigmen) auf Seite 4 unten.

by (930 points)

Related questions

0 votes
1 answer
asked Sep 16, 2018 in * TF "Softw.-Eng." by davidschulz (410 points)
+1 vote
1 answer
0 votes
2 answers
asked Sep 12, 2018 in * TF "Softw.-Eng." by davidschulz (410 points)
0 votes
1 answer
asked Jan 7, 2023 in * TF "Emb. Sys. and Rob." by lu (460 points)
0 votes
1 answer
Imprint | Privacy Policy
...