Вообще, хорошо бы указать, в какой формальной системе это надо доказывать :)
В частности, Митчелл вводит важное правило, с которым это делается легко, а без которого (то есть используя только аксиому fix f = f (fix f)) фиг докажешь.
Правило выглядит так: если M ->> N M, то M = fix N.
(f . g) (f (fix (g . f))) = f (g (f (fix (g . f))) = f ((g . f) (fix (g . f))) = f (fix (g . f)). Так как fix - минимальная неподвижная точка, получаем, что fix (f . g) <= f (fix (g . f)).
Аналогично, fig (g . f) <= g (fix (f . g)). Так как f - морфизм доменов, получаем, что f (fix g . f) <= f (g (fix (f . g))) = (f . g) (fix (f . g)) = fix (f . g). Два неравенства вместе дают нужное равенство.
Строго говоря, ты доказал, что [[fix (f . g)]] = [[f (fix (g . f))]], т.е. что они эквивалентны денотационно. После этого должна идти апелляция к полноте подразумеваемой proof system по отношению к этой денотационной семантике. Которая вряд ли имеет место.
Comments 17
Reply
Reply
В частности, Митчелл вводит важное правило, с которым это делается легко, а без которого (то есть используя только аксиому fix f = f (fix f)) фиг докажешь.
Правило выглядит так: если M ->> N M, то M = fix N.
Reply
Reply
Reply
У меня так всё руки пока не доходят...
Reply
Аналогично, fig (g . f) <= g (fix (f . g)). Так как f - морфизм доменов, получаем, что f (fix g . f) <= f (g (fix (f . g))) = (f . g) (fix (f . g)) = fix (f . g). Два неравенства вместе дают нужное равенство.
Reply
Reply
> Которая вряд ли имеет место.
А почему, кстати?
Reply
Reply
Leave a comment