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