Metody programowania w logice Ćwiczenia: Lista 2 Podstawienia

Transkrypt

Metody programowania w logice Ćwiczenia: Lista 2 Podstawienia
Metody programowania w logice
Ćwiczenia: Lista 2
Podstawienia
Przemysław Kobylański
Wprowadzenie
Definicja 1 (Podstawienie) Podstawieniem nazywamy zbiór postaci
{x1 /t1 , . . . , xn /tn },
gdzie xi są parami różnymi zmiennymi, a ti są termami, różnymi od odpowiadających im zmiennych xi .
Podstawienie puste jest to podstawieniem zdefiniowane przez zbiór pusty. Podstawienie puste oznaczamy przez ε.
Podstawienia będziemy oznaczać małymi literami alfabetu greckiego λ, µ, δ, θ.
Definicja 2 (Dziedzina i zakres) Niech θ = {x1 /t1 , . . . , xn /tn } będzie podstawieniem.
Wówczas symbolem Dom(θ) oznaczać będziemy zbiór zmiennych podstawianych
w θ, tj. {x1 , . . . , xn }.
Symbolem Range(θ) oznaczać będziemy zbiór zmiennych występujących w termach t1 , . . . , tn .
Definicja 3 (Zastosowanie podstawienia) Zastosowanie podstawienia θ do termu t oznaczać będziemy tθ i definiujemy indukcyjnie po złożoności termu t:
1. Jeśli t = c jest stałą, to tθ = c.
2. Jeśli t = xi ∈ Dom(θ), to tθ = ti .
3. Jeśli t = x 6∈ Dom(θ) jest zmienną, to tθ = x.
4. Jeśli t = f (t1 , . . . , tn ) jest termem złożonym, to tθ = f (tθ, . . . , tn θ).
Definicja 4 (Złożenie podstawień) Niech θ = {x1 /t1 , . . . , xn /tn } i δ = {y1 /s1 , . . . , yk /sk }
będą podstawieniami.
Niech X = Dom(θ) i Y = Dom(δ).
Złożenie podstawień θ i δ oznaczać będziemy θδ i definiujemy jako następujące
podstawienie:
θδ = {xi /ti δ|xi ∈ X, xi 6= ti δ} ∪ {yj /sj |yj ∈ Y, yj 6∈ X}.
Definicja 5 (Idempotentność) Mówimy, że podstawienie θ jest idempotentne wtedy i tylko wtedy, gdy θ = θθ.
Definicja 6 (Przemianowanie) Przemianowaniem zmiennych x1 , . . . , xn nazywamy podstawienie {x1 /xπ(1) , . . . , xn /xπ(n) }, gdzie π jest permutacją liczb 1, . . . , n,
przy czym π(i) 6= i, dla i = 1, . . . , n.
1
Zadanie 1
Niech θ, σ, γ będą dowolnymi podstawieniami. Udowodnij następujące własności:
1. θε = εθ = θ.
2. (tθ)σ = t(θσ), dla dowolnego termu t.
3. (θσ)γ = θ(σγ).
Zadanie 2
Udowodnij, że θ jest idempotentne wtedy i tylko wtedy, gdy Dom(θ)∩Range(θ) = ∅.
Zadanie 3
Udowodnij, że dla dowolnego przemianowania θ istnieje dokładnie jedno takie przemianowanie σ, że θσ = σθ = ε.
2