BuK/IIm19/Übung 1 Schuster
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>SchemeJS</language>
== Aussagenlogischer Interpreter ==
<code id="5e6b576172c27">; Schreibe einen Interpreter für aussagenlogische Terme
; Folgende Operationen sollen unterstützt werden:
; - ¬
; - ∧
; - ∨
; - →
; - ↔
(define ¬
(lambda (t)
(not t)))
(define ∧
(lambda (t1 t2)
(and t1 t2)))
(define ∨
(lambda (t1 t2)
(or t1 t2)))
(define →
(lambda (t1 t2)
(if (and t1 (not t2))
#f
#t)))
(define ↔
(lambda (t1 t2)
(not (equals? t1 t2))))</code>
<run id="5e6b576172cbf">(</run>
[https://flaci.com/Thjwh7152 FLACI]
== Wahrheitstafeln für indirekten Beweis ==
Vorlesung 1 Folie 22
{| border = "1px" cellspacing = "0"
!A
!B
!¬A
!¬B
!¬B → ¬A
!A → B
|-
|#w
|#w
|#f
|#f
|#w
|#w
|-
|#w
|#f
|#f
|#w
|#f
|#f
|-
|#f
|#w
|#w
|#f
|#w
|#w
|-
|#f
|#f
|#w
|#w
|#w
|#w
|-
|}
== Partielle Funktion: Beispiel ==
Vorlesung 1 Folie 39
<code id="5e6b994410222">(define q
(lambda (x)
(if (eq? x 3)
(q x)
(/ 35 (- x 3)))))</code>
<run id="5e6b9944102b9">(q 42)
;(q 3)</run>