Правильно ли я понимаю, что в самом начале я воспользовался тем, что X и x непустые?
Не обязательно, если аккуратно оформить доказательство. Раскроем сначала левую часть доказываемой импликации:

означает

. Раскроем правое:

. Теперь соберём некоторые знания о выводимости в логике первого порядка вместе:
• чтобы доказать
![$\forall x. A[x]$ $\forall x. A[x]$](https://dxdy-01.korotkov.co.uk/f/0/9/1/091bfac16fbcead2a592eeea1284547c82.png)
, достаточно взять произвольный «свежий» объект

и показать
![$A[v]$ $A[v]$](https://dxdy-01.korotkov.co.uk/f/0/c/e/0ce5c216cbdb196891593cc050ebdbc182.png)
, после чего мы можем выкинуть

из рассмотрения везде, где используется
![$\forall x. A[x]$ $\forall x. A[x]$](https://dxdy-01.korotkov.co.uk/f/0/9/1/091bfac16fbcead2a592eeea1284547c82.png)
;
• из
![$\forall x. A[x]$ $\forall x. A[x]$](https://dxdy-01.korotkov.co.uk/f/0/9/1/091bfac16fbcead2a592eeea1284547c82.png)
мы получаем
![$A[t]$ $A[t]$](https://dxdy-02.korotkov.co.uk/f/1/9/f/19fc430a7904ec5b79f153419774f85d82.png)
для любого выражения

, включая свежевведённые переменные как выше;
• чтобы доказать
![$\exists x. A[x]$ $\exists x. A[x]$](https://dxdy-03.korotkov.co.uk/f/6/5/7/657b1f2ca6b9afd5d4f0df3dbf272d7f82.png)
, достаточно доказать
![$A[t]$ $A[t]$](https://dxdy-02.korotkov.co.uk/f/1/9/f/19fc430a7904ec5b79f153419774f85d82.png)
для произвольного выражения

;
• если
![$\exists x. A[x]$ $\exists x. A[x]$](https://dxdy-03.korotkov.co.uk/f/6/5/7/657b1f2ca6b9afd5d4f0df3dbf272d7f82.png)
, то мы можем доказать оттуда некоторое

, если можем доказать

из
![$A[c]$ $A[c]$](https://dxdy-03.korotkov.co.uk/f/2/d/8/2d8e1a622c68c6870be09460fbf8029382.png)
для некоторой свежей (не входит в

) «переменной-константы»

.
Последнее лишь для полноты картины, чтобы вы увидели некоторую симметрию.
Теперь следите за руками.
У нас есть

и мы собираемся показать

.
Введём свежий

, для него нам надо показать

.
Значит мы можем принять

, а показать надо будет

.
Введём свежий

, для которого надо показать

.
Мы можем принять

, осталось показать

…
И вот теперь мы начнём вгрызаться в первую, изначальную, посылку!
У нас есть
![$\forall y. A[y]$ $\forall y. A[y]$](https://dxdy-03.korotkov.co.uk/f/2/b/2/2b2c2fabf53093059e646f71a3ee7ac282.png)
, значит мы можем сказать в частности
![$A[y']$ $A[y']$](https://dxdy-04.korotkov.co.uk/f/7/0/2/702b10e8f04b58c9f00c0e5b23fad20182.png)
, то есть

.
Если теперь мы покажем, что

, то мы можем получить

(и нам повезло, это как раз сразу наша цель).
У нас активно предположение, что

, и также что

. Это ровно такое
![$B[x']$ $B[x']$](https://dxdy-02.korotkov.co.uk/f/5/9/a/59a636f712cfb67e927f1b6f7480800882.png)
, что требуется, чтобы доказать
![$\exists x. \; B[x]$ $\exists x. \; B[x]$](https://dxdy-02.korotkov.co.uk/f/1/7/6/17604fb3e1dc51ec4f50e066bc71eb3482.png)
!
Значит,

, и значит, мы доказали всё, что хотели.
Это может смотреться немного лучше в виде дерева натурального вывода, но оно наверно будет слишком длинным в ширину.
-- Ср май 05, 2021 17:28:52 --А что буква

обозначает?
Скорее всего множество всех подмножеств.
-- Ср май 05, 2021 17:54:13 --Кстати отсюда видно, что мы доказывали очень естественный факт (плюс там ведь ещё и в обратную сторону следует): в доказательстве мы просто распаковывали и запаковывали и перекладывали без взывания к каким-то аксиомам теории множеств кроме тех, что нужны для выписывания смысла

и

в самом начале.