BuK/IIm11/Studenten/sirorose/uebung6

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Scheme</language>
== Reduzierbarkeit ==

=== Aufgabe 1  ===

Konstruieren Sie eine Prozedur, welche prüft, ob $w$ die Form $uu$ besitzt.

<code id="4fa92fe8aa531">
(define uuchecker
  (lambda (w)
    (cond
      ((odd? (string-length w)) #f)
      ((string=? (substring w 0 (/ (string-length w) 2)) (substring w (/ (string-length w) 2) (string-length w))) #t)
      (else #f)
     )
  )
)   
</code>

<run id="4fa92fe8aa59b">
(uuchecker "ww")
</run>

=== Aufgabe 2  ===

Beweisen Sie diesen Satz, indem Sie mittels Aussagenlogik die Äquivalenz dieser Aussage zum vorhergehenden Satz zeigen. Es handelt sich um die Kontraposition:

$A \wedge B \rightarrow C \Leftrightarrow \neg C \wedge B \rightarrow \neg A$

Verwenden Sie im Beweis die folgenden Aussagen:

A: $P'$ ist entscheidbar. B: $P$ ist reduzierbar auf $P'$. C: $P$ ist
entscheidbar.

{| border="1" cellpadding="5" cellspacing="0"
!A
!B
!C
!$A \wedge B $
!$A \wedge B \rightarrow C$	
! $\neg C$
! $\neg C \wedge B$
!$ \neg A$
!$ \neg C \wedge B \rightarrow \neg A $
|-
|| 0 || 0 || 0 || 0 || <b style="color: green;">1</b> || 1 || 0 || 1 || <b style="color: green;">1</b>
|-
|| 0 || 0 || 1 || 0 || <b style="color: green;">1</b> || 0 || 0 || 1 || <b style="color: green;">1</b>
|-
|| 0 || 1 || 0 || 0 || <b style="color: green;">1</b> || 1 || 1 || 1 || <b style="color: green;">1</b>
|-
|| 0 || 1 || 1 || 0 || <b style="color: green;">1</b> || 0 || 0|| 1 || <b style="color: green;">1</b>
|-
|| 1 || 0 || 0 || 0 || <b style="color: green;">1</b> || 1 || 0 || 0 || <b style="color: green;">1</b>
|-
|| 1 || 0 || 1 || 0 || <b style="color: green;">1</b> || 0 || 0 || 0 || <b style="color: green;">1</b>
|-
|| 1 || 1 || 0 || 1 || <b style="color: green;">0</b> || 1 || 1 || 0 || <b style="color: green;">0</b>
|-
|| 1 || 1 || 1 || 1 || <b style="color: green;">1</b> || 0 || 0 || 0 || <b style="color: green;">1</b>
|-
|}