Việc chứng minh bởi viết lại (demonstration by rewriding) là một kỹ thuật cho phép chứng minh tự động. Đĩ là q trình ước lượng các hạng bằng cách viết lại một cách hệ thống các hạng thành các dạng chuẩn (dạng khơng thể ước lược được nữa) và phép chứng minh các thuộc tính. Nguyên lý sử dụng là hướng đến các phương trình đặc tả theo quy tắc viết lại và áp dụng liên tiếp các quy tắc này trên các hạng đã ước lược.
Ví dụ : từ tiên đề not true = false ta sẽ dẫn đến quy tắc not true ??? false. Quy tắc này được dùng để chứng minh tính bằng nhau của dạng t = t’. Sự bằng nhau là hợp thức nếu hai vế của chúng được viết lại thành duy nhất một hạng khơng thể ước lược được nữa.
Định lý 3.3 Chứng minh bởi viết lại
Với một đặc tả spect, t, t’’ là các hạng nếu t ??? ... ??? to và t’ ??? ... to thì :
Ax spec Ê EQ t = t’
Ở đây ta sử dụng ký hiệu t ???* t’ cho dãy t ??? ...??? t hay t là một dạng chuẩn của hạng, nghĩa là một hạng khơng thể thu gọn.
Cần chú ý rằng đẳng thức tạo ra bởi viết lại khơng bắt buộc đồng nhất với đẳng thức nhận đuợc từ hệ thống suy diễn Ê EQ (khơng hịan tồn).
Để cĩ thể thực hiện các phép chứng minh theo lý thuyết trước đây, ta cần nhận được một hệ thống viết lại hội tụ tương đương với hệ thống sinh bởi các tiêu đề.
Giải pháp đâìu tiên là hướng tới các phương trình, Nếu hệ thống nhận được là đi đến đích (mọi hướng suy dẩn khác nhau cĩ thể đều dẩn về cùng kết quả) và kết thúc (sau một số hữu hạn bước viết lại trước khi nhân được dạng chuẩn). Từ đĩ các thuộc tính chứng minh được tương đương với các phương trình xuất phát.
Chẳng hạn để đặc tả Bool, ta cần nhận được bằng cách hướng các tiên đề từ trái qua phải :
false and b ??? false true or b ??? true false or b ??? b
false xor b ??? not (b)
Ví dụ : sử dụng các quy tắc trên để viết lại hạng sau đây : not (false or (true and false))
not (true and false) not (false or false)
not (false)
true
Tuy nhiên, nguyên lý hướng về viết lại khơng đủ để chứng minh mọi thuộc tính tương đương. Ta cĩ thể minh họa điếu đĩ trong đặc tả các số tự nhiên một cách đơn giản như sau :
Interface Sort not ; Operations 0 : → not ; _ _ : not → not ; _ + _ : not not → not ; Body
Axions
a x 1 0 + x = x ; a x 2 : x + (- x) = 0 ; ...
Từ đặc tả trên, ta cĩ thể xây dựng các quy tắc : 0 + x ??? x
x + (- x) ??? 0 - 0 ??? 0
Cần chú ý rằng trong trường hợp này, việc hướng các quy tắc từ trái qua phải chưa đủ, vì nếu muốn chứng minh - 0 = 0 thì phải cần áp dụng tiên đề 1 từ phải qua trái, sau đĩ áp dụng tiên đề 2 từ trái qua phải, như vậy sẽ khơng tương ứng với việc lựa chọn định hớng ???.
Rõ ràng việc định hướng là một cơ chế chứng minh chưa đầy đủ, đặc biệt đối với các tiên đề về các phép tính sinh. Cơ chế này cĩ thể đầy đủ trong nhiều tình huống thực tế.
Trong trường hợp các tiên đề khơng định hướng như phép giao hốn, các ký thuật đặc tả được phát triển để thực hiện viết lại (hệ viết lại kiểu modun kết hợp - giao hốn)
Các phép tốn phát sinh (xây dựng)
Theo định nghĩa, một mơ hình được phát sinh bởi một tập hợp con w các phép tốn nếu mọi giá trị của mơ hình này nhân được bởi một hạng được xây dựng từ các bộ sinh w. Định nghĩa này cho phép, theo dịnh lý quy nạp, chỉ xem xét các bộ sinh trong các chứng minh bằng cách chỉ chứng minh quy nạpchúng (bởi vì mọi hạng đạt được bởi các việc tổ hợp các bộ sinh)