| Step | Hyp | Ref
 | Expression | 
| 1 |   | fococnv2 5530 | 
. . . 4
⊢ (𝐹:𝐴–onto→𝐵 → (𝐹 ∘ ◡𝐹) = ( I ↾ 𝐵)) | 
| 2 |   | cnveq 4840 | 
. . . . . 6
⊢ (𝐹 = 𝐺 → ◡𝐹 = ◡𝐺) | 
| 3 | 2 | coeq2d 4828 | 
. . . . 5
⊢ (𝐹 = 𝐺 → (𝐹 ∘ ◡𝐹) = (𝐹 ∘ ◡𝐺)) | 
| 4 | 3 | eqeq1d 2205 | 
. . . 4
⊢ (𝐹 = 𝐺 → ((𝐹 ∘ ◡𝐹) = ( I ↾ 𝐵) ↔ (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵))) | 
| 5 | 1, 4 | syl5ibcom 155 | 
. . 3
⊢ (𝐹:𝐴–onto→𝐵 → (𝐹 = 𝐺 → (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵))) | 
| 6 | 5 | adantr 276 | 
. 2
⊢ ((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) → (𝐹 = 𝐺 → (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵))) | 
| 7 |   | fofn 5482 | 
. . . . 5
⊢ (𝐹:𝐴–onto→𝐵 → 𝐹 Fn 𝐴) | 
| 8 | 7 | ad2antrr 488 | 
. . . 4
⊢ (((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) ∧ (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵)) → 𝐹 Fn 𝐴) | 
| 9 |   | fofn 5482 | 
. . . . 5
⊢ (𝐺:𝐴–onto→𝐵 → 𝐺 Fn 𝐴) | 
| 10 | 9 | ad2antlr 489 | 
. . . 4
⊢ (((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) ∧ (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵)) → 𝐺 Fn 𝐴) | 
| 11 | 9 | adantl 277 | 
. . . . . . . . . . . 12
⊢ ((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) → 𝐺 Fn 𝐴) | 
| 12 |   | fnopfv 5692 | 
. . . . . . . . . . . 12
⊢ ((𝐺 Fn 𝐴 ∧ 𝑥 ∈ 𝐴) → 〈𝑥, (𝐺‘𝑥)〉 ∈ 𝐺) | 
| 13 | 11, 12 | sylan 283 | 
. . . . . . . . . . 11
⊢ (((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) ∧ 𝑥 ∈ 𝐴) → 〈𝑥, (𝐺‘𝑥)〉 ∈ 𝐺) | 
| 14 | 9 | anim1i 340 | 
. . . . . . . . . . . . 13
⊢ ((𝐺:𝐴–onto→𝐵 ∧ 𝑥 ∈ 𝐴) → (𝐺 Fn 𝐴 ∧ 𝑥 ∈ 𝐴)) | 
| 15 | 14 | adantll 476 | 
. . . . . . . . . . . 12
⊢ (((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) ∧ 𝑥 ∈ 𝐴) → (𝐺 Fn 𝐴 ∧ 𝑥 ∈ 𝐴)) | 
| 16 |   | funfvex 5575 | 
. . . . . . . . . . . . . . 15
⊢ ((Fun
𝐺 ∧ 𝑥 ∈ dom 𝐺) → (𝐺‘𝑥) ∈ V) | 
| 17 | 16 | funfni 5358 | 
. . . . . . . . . . . . . 14
⊢ ((𝐺 Fn 𝐴 ∧ 𝑥 ∈ 𝐴) → (𝐺‘𝑥) ∈ V) | 
| 18 |   | vex 2766 | 
. . . . . . . . . . . . . 14
⊢ 𝑥 ∈ V | 
| 19 |   | brcnvg 4847 | 
. . . . . . . . . . . . . 14
⊢ (((𝐺‘𝑥) ∈ V ∧ 𝑥 ∈ V) → ((𝐺‘𝑥)◡𝐺𝑥 ↔ 𝑥𝐺(𝐺‘𝑥))) | 
| 20 | 17, 18, 19 | sylancl 413 | 
. . . . . . . . . . . . 13
⊢ ((𝐺 Fn 𝐴 ∧ 𝑥 ∈ 𝐴) → ((𝐺‘𝑥)◡𝐺𝑥 ↔ 𝑥𝐺(𝐺‘𝑥))) | 
| 21 |   | df-br 4034 | 
. . . . . . . . . . . . 13
⊢ (𝑥𝐺(𝐺‘𝑥) ↔ 〈𝑥, (𝐺‘𝑥)〉 ∈ 𝐺) | 
| 22 | 20, 21 | bitrdi 196 | 
. . . . . . . . . . . 12
⊢ ((𝐺 Fn 𝐴 ∧ 𝑥 ∈ 𝐴) → ((𝐺‘𝑥)◡𝐺𝑥 ↔ 〈𝑥, (𝐺‘𝑥)〉 ∈ 𝐺)) | 
| 23 | 15, 22 | syl 14 | 
. . . . . . . . . . 11
⊢ (((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) ∧ 𝑥 ∈ 𝐴) → ((𝐺‘𝑥)◡𝐺𝑥 ↔ 〈𝑥, (𝐺‘𝑥)〉 ∈ 𝐺)) | 
| 24 | 13, 23 | mpbird 167 | 
. . . . . . . . . 10
⊢ (((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) ∧ 𝑥 ∈ 𝐴) → (𝐺‘𝑥)◡𝐺𝑥) | 
| 25 | 7 | adantr 276 | 
. . . . . . . . . . . 12
⊢ ((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) → 𝐹 Fn 𝐴) | 
| 26 |   | fnopfv 5692 | 
. . . . . . . . . . . 12
⊢ ((𝐹 Fn 𝐴 ∧ 𝑥 ∈ 𝐴) → 〈𝑥, (𝐹‘𝑥)〉 ∈ 𝐹) | 
| 27 | 25, 26 | sylan 283 | 
. . . . . . . . . . 11
⊢ (((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) ∧ 𝑥 ∈ 𝐴) → 〈𝑥, (𝐹‘𝑥)〉 ∈ 𝐹) | 
| 28 |   | df-br 4034 | 
. . . . . . . . . . 11
⊢ (𝑥𝐹(𝐹‘𝑥) ↔ 〈𝑥, (𝐹‘𝑥)〉 ∈ 𝐹) | 
| 29 | 27, 28 | sylibr 134 | 
. . . . . . . . . 10
⊢ (((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) ∧ 𝑥 ∈ 𝐴) → 𝑥𝐹(𝐹‘𝑥)) | 
| 30 |   | breq2 4037 | 
. . . . . . . . . . . 12
⊢ (𝑦 = 𝑥 → ((𝐺‘𝑥)◡𝐺𝑦 ↔ (𝐺‘𝑥)◡𝐺𝑥)) | 
| 31 |   | breq1 4036 | 
. . . . . . . . . . . 12
⊢ (𝑦 = 𝑥 → (𝑦𝐹(𝐹‘𝑥) ↔ 𝑥𝐹(𝐹‘𝑥))) | 
| 32 | 30, 31 | anbi12d 473 | 
. . . . . . . . . . 11
⊢ (𝑦 = 𝑥 → (((𝐺‘𝑥)◡𝐺𝑦 ∧ 𝑦𝐹(𝐹‘𝑥)) ↔ ((𝐺‘𝑥)◡𝐺𝑥 ∧ 𝑥𝐹(𝐹‘𝑥)))) | 
| 33 | 18, 32 | spcev 2859 | 
. . . . . . . . . 10
⊢ (((𝐺‘𝑥)◡𝐺𝑥 ∧ 𝑥𝐹(𝐹‘𝑥)) → ∃𝑦((𝐺‘𝑥)◡𝐺𝑦 ∧ 𝑦𝐹(𝐹‘𝑥))) | 
| 34 | 24, 29, 33 | syl2anc 411 | 
. . . . . . . . 9
⊢ (((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) ∧ 𝑥 ∈ 𝐴) → ∃𝑦((𝐺‘𝑥)◡𝐺𝑦 ∧ 𝑦𝐹(𝐹‘𝑥))) | 
| 35 | 15, 17 | syl 14 | 
. . . . . . . . . 10
⊢ (((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) ∧ 𝑥 ∈ 𝐴) → (𝐺‘𝑥) ∈ V) | 
| 36 | 7 | anim1i 340 | 
. . . . . . . . . . . 12
⊢ ((𝐹:𝐴–onto→𝐵 ∧ 𝑥 ∈ 𝐴) → (𝐹 Fn 𝐴 ∧ 𝑥 ∈ 𝐴)) | 
| 37 | 36 | adantlr 477 | 
. . . . . . . . . . 11
⊢ (((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) ∧ 𝑥 ∈ 𝐴) → (𝐹 Fn 𝐴 ∧ 𝑥 ∈ 𝐴)) | 
| 38 |   | funfvex 5575 | 
. . . . . . . . . . . 12
⊢ ((Fun
𝐹 ∧ 𝑥 ∈ dom 𝐹) → (𝐹‘𝑥) ∈ V) | 
| 39 | 38 | funfni 5358 | 
. . . . . . . . . . 11
⊢ ((𝐹 Fn 𝐴 ∧ 𝑥 ∈ 𝐴) → (𝐹‘𝑥) ∈ V) | 
| 40 | 37, 39 | syl 14 | 
. . . . . . . . . 10
⊢ (((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) ∧ 𝑥 ∈ 𝐴) → (𝐹‘𝑥) ∈ V) | 
| 41 |   | brcog 4833 | 
. . . . . . . . . 10
⊢ (((𝐺‘𝑥) ∈ V ∧ (𝐹‘𝑥) ∈ V) → ((𝐺‘𝑥)(𝐹 ∘ ◡𝐺)(𝐹‘𝑥) ↔ ∃𝑦((𝐺‘𝑥)◡𝐺𝑦 ∧ 𝑦𝐹(𝐹‘𝑥)))) | 
| 42 | 35, 40, 41 | syl2anc 411 | 
. . . . . . . . 9
⊢ (((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) ∧ 𝑥 ∈ 𝐴) → ((𝐺‘𝑥)(𝐹 ∘ ◡𝐺)(𝐹‘𝑥) ↔ ∃𝑦((𝐺‘𝑥)◡𝐺𝑦 ∧ 𝑦𝐹(𝐹‘𝑥)))) | 
| 43 | 34, 42 | mpbird 167 | 
. . . . . . . 8
⊢ (((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) ∧ 𝑥 ∈ 𝐴) → (𝐺‘𝑥)(𝐹 ∘ ◡𝐺)(𝐹‘𝑥)) | 
| 44 | 43 | adantlr 477 | 
. . . . . . 7
⊢ ((((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) ∧ (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵)) ∧ 𝑥 ∈ 𝐴) → (𝐺‘𝑥)(𝐹 ∘ ◡𝐺)(𝐹‘𝑥)) | 
| 45 |   | breq 4035 | 
. . . . . . . 8
⊢ ((𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵) → ((𝐺‘𝑥)(𝐹 ∘ ◡𝐺)(𝐹‘𝑥) ↔ (𝐺‘𝑥)( I ↾ 𝐵)(𝐹‘𝑥))) | 
| 46 | 45 | ad2antlr 489 | 
. . . . . . 7
⊢ ((((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) ∧ (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵)) ∧ 𝑥 ∈ 𝐴) → ((𝐺‘𝑥)(𝐹 ∘ ◡𝐺)(𝐹‘𝑥) ↔ (𝐺‘𝑥)( I ↾ 𝐵)(𝐹‘𝑥))) | 
| 47 | 44, 46 | mpbid 147 | 
. . . . . 6
⊢ ((((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) ∧ (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵)) ∧ 𝑥 ∈ 𝐴) → (𝐺‘𝑥)( I ↾ 𝐵)(𝐹‘𝑥)) | 
| 48 |   | fof 5480 | 
. . . . . . . . . 10
⊢ (𝐺:𝐴–onto→𝐵 → 𝐺:𝐴⟶𝐵) | 
| 49 | 48 | adantl 277 | 
. . . . . . . . 9
⊢ ((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) → 𝐺:𝐴⟶𝐵) | 
| 50 | 49 | ffvelcdmda 5697 | 
. . . . . . . 8
⊢ (((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) ∧ 𝑥 ∈ 𝐴) → (𝐺‘𝑥) ∈ 𝐵) | 
| 51 |   | fof 5480 | 
. . . . . . . . . 10
⊢ (𝐹:𝐴–onto→𝐵 → 𝐹:𝐴⟶𝐵) | 
| 52 | 51 | adantr 276 | 
. . . . . . . . 9
⊢ ((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) → 𝐹:𝐴⟶𝐵) | 
| 53 | 52 | ffvelcdmda 5697 | 
. . . . . . . 8
⊢ (((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) ∧ 𝑥 ∈ 𝐴) → (𝐹‘𝑥) ∈ 𝐵) | 
| 54 |   | resieq 4956 | 
. . . . . . . 8
⊢ (((𝐺‘𝑥) ∈ 𝐵 ∧ (𝐹‘𝑥) ∈ 𝐵) → ((𝐺‘𝑥)( I ↾ 𝐵)(𝐹‘𝑥) ↔ (𝐺‘𝑥) = (𝐹‘𝑥))) | 
| 55 | 50, 53, 54 | syl2anc 411 | 
. . . . . . 7
⊢ (((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) ∧ 𝑥 ∈ 𝐴) → ((𝐺‘𝑥)( I ↾ 𝐵)(𝐹‘𝑥) ↔ (𝐺‘𝑥) = (𝐹‘𝑥))) | 
| 56 | 55 | adantlr 477 | 
. . . . . 6
⊢ ((((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) ∧ (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵)) ∧ 𝑥 ∈ 𝐴) → ((𝐺‘𝑥)( I ↾ 𝐵)(𝐹‘𝑥) ↔ (𝐺‘𝑥) = (𝐹‘𝑥))) | 
| 57 | 47, 56 | mpbid 147 | 
. . . . 5
⊢ ((((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) ∧ (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵)) ∧ 𝑥 ∈ 𝐴) → (𝐺‘𝑥) = (𝐹‘𝑥)) | 
| 58 | 57 | eqcomd 2202 | 
. . . 4
⊢ ((((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) ∧ (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵)) ∧ 𝑥 ∈ 𝐴) → (𝐹‘𝑥) = (𝐺‘𝑥)) | 
| 59 | 8, 10, 58 | eqfnfvd 5662 | 
. . 3
⊢ (((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) ∧ (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵)) → 𝐹 = 𝐺) | 
| 60 | 59 | ex 115 | 
. 2
⊢ ((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) → ((𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵) → 𝐹 = 𝐺)) | 
| 61 | 6, 60 | impbid 129 | 
1
⊢ ((𝐹:𝐴–onto→𝐵 ∧ 𝐺:𝐴–onto→𝐵) → (𝐹 = 𝐺 ↔ (𝐹 ∘ ◡𝐺) = ( I ↾ 𝐵))) |