| Step | Hyp | Ref | Expression | 
						
							| 1 |  | galcan.1 | ⊢ 𝑋  =  ( Base ‘ 𝐺 ) | 
						
							| 2 |  | gacan.2 | ⊢ 𝑁  =  ( invg ‘ 𝐺 ) | 
						
							| 3 |  | gagrp | ⊢ (  ⊕   ∈  ( 𝐺  GrpAct  𝑌 )  →  𝐺  ∈  Grp ) | 
						
							| 4 | 3 | adantr | ⊢ ( (  ⊕   ∈  ( 𝐺  GrpAct  𝑌 )  ∧  ( 𝐴  ∈  𝑋  ∧  𝐵  ∈  𝑌  ∧  𝐶  ∈  𝑌 ) )  →  𝐺  ∈  Grp ) | 
						
							| 5 |  | simpr1 | ⊢ ( (  ⊕   ∈  ( 𝐺  GrpAct  𝑌 )  ∧  ( 𝐴  ∈  𝑋  ∧  𝐵  ∈  𝑌  ∧  𝐶  ∈  𝑌 ) )  →  𝐴  ∈  𝑋 ) | 
						
							| 6 |  | eqid | ⊢ ( +g ‘ 𝐺 )  =  ( +g ‘ 𝐺 ) | 
						
							| 7 |  | eqid | ⊢ ( 0g ‘ 𝐺 )  =  ( 0g ‘ 𝐺 ) | 
						
							| 8 | 1 6 7 2 | grprinv | ⊢ ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  →  ( 𝐴 ( +g ‘ 𝐺 ) ( 𝑁 ‘ 𝐴 ) )  =  ( 0g ‘ 𝐺 ) ) | 
						
							| 9 | 4 5 8 | syl2anc | ⊢ ( (  ⊕   ∈  ( 𝐺  GrpAct  𝑌 )  ∧  ( 𝐴  ∈  𝑋  ∧  𝐵  ∈  𝑌  ∧  𝐶  ∈  𝑌 ) )  →  ( 𝐴 ( +g ‘ 𝐺 ) ( 𝑁 ‘ 𝐴 ) )  =  ( 0g ‘ 𝐺 ) ) | 
						
							| 10 | 9 | oveq1d | ⊢ ( (  ⊕   ∈  ( 𝐺  GrpAct  𝑌 )  ∧  ( 𝐴  ∈  𝑋  ∧  𝐵  ∈  𝑌  ∧  𝐶  ∈  𝑌 ) )  →  ( ( 𝐴 ( +g ‘ 𝐺 ) ( 𝑁 ‘ 𝐴 ) )  ⊕  𝐶 )  =  ( ( 0g ‘ 𝐺 )  ⊕  𝐶 ) ) | 
						
							| 11 |  | simpl | ⊢ ( (  ⊕   ∈  ( 𝐺  GrpAct  𝑌 )  ∧  ( 𝐴  ∈  𝑋  ∧  𝐵  ∈  𝑌  ∧  𝐶  ∈  𝑌 ) )  →   ⊕   ∈  ( 𝐺  GrpAct  𝑌 ) ) | 
						
							| 12 | 1 2 | grpinvcl | ⊢ ( ( 𝐺  ∈  Grp  ∧  𝐴  ∈  𝑋 )  →  ( 𝑁 ‘ 𝐴 )  ∈  𝑋 ) | 
						
							| 13 | 4 5 12 | syl2anc | ⊢ ( (  ⊕   ∈  ( 𝐺  GrpAct  𝑌 )  ∧  ( 𝐴  ∈  𝑋  ∧  𝐵  ∈  𝑌  ∧  𝐶  ∈  𝑌 ) )  →  ( 𝑁 ‘ 𝐴 )  ∈  𝑋 ) | 
						
							| 14 |  | simpr3 | ⊢ ( (  ⊕   ∈  ( 𝐺  GrpAct  𝑌 )  ∧  ( 𝐴  ∈  𝑋  ∧  𝐵  ∈  𝑌  ∧  𝐶  ∈  𝑌 ) )  →  𝐶  ∈  𝑌 ) | 
						
							| 15 | 1 6 | gaass | ⊢ ( (  ⊕   ∈  ( 𝐺  GrpAct  𝑌 )  ∧  ( 𝐴  ∈  𝑋  ∧  ( 𝑁 ‘ 𝐴 )  ∈  𝑋  ∧  𝐶  ∈  𝑌 ) )  →  ( ( 𝐴 ( +g ‘ 𝐺 ) ( 𝑁 ‘ 𝐴 ) )  ⊕  𝐶 )  =  ( 𝐴  ⊕  ( ( 𝑁 ‘ 𝐴 )  ⊕  𝐶 ) ) ) | 
						
							| 16 | 11 5 13 14 15 | syl13anc | ⊢ ( (  ⊕   ∈  ( 𝐺  GrpAct  𝑌 )  ∧  ( 𝐴  ∈  𝑋  ∧  𝐵  ∈  𝑌  ∧  𝐶  ∈  𝑌 ) )  →  ( ( 𝐴 ( +g ‘ 𝐺 ) ( 𝑁 ‘ 𝐴 ) )  ⊕  𝐶 )  =  ( 𝐴  ⊕  ( ( 𝑁 ‘ 𝐴 )  ⊕  𝐶 ) ) ) | 
						
							| 17 | 7 | gagrpid | ⊢ ( (  ⊕   ∈  ( 𝐺  GrpAct  𝑌 )  ∧  𝐶  ∈  𝑌 )  →  ( ( 0g ‘ 𝐺 )  ⊕  𝐶 )  =  𝐶 ) | 
						
							| 18 | 11 14 17 | syl2anc | ⊢ ( (  ⊕   ∈  ( 𝐺  GrpAct  𝑌 )  ∧  ( 𝐴  ∈  𝑋  ∧  𝐵  ∈  𝑌  ∧  𝐶  ∈  𝑌 ) )  →  ( ( 0g ‘ 𝐺 )  ⊕  𝐶 )  =  𝐶 ) | 
						
							| 19 | 10 16 18 | 3eqtr3d | ⊢ ( (  ⊕   ∈  ( 𝐺  GrpAct  𝑌 )  ∧  ( 𝐴  ∈  𝑋  ∧  𝐵  ∈  𝑌  ∧  𝐶  ∈  𝑌 ) )  →  ( 𝐴  ⊕  ( ( 𝑁 ‘ 𝐴 )  ⊕  𝐶 ) )  =  𝐶 ) | 
						
							| 20 | 19 | eqeq2d | ⊢ ( (  ⊕   ∈  ( 𝐺  GrpAct  𝑌 )  ∧  ( 𝐴  ∈  𝑋  ∧  𝐵  ∈  𝑌  ∧  𝐶  ∈  𝑌 ) )  →  ( ( 𝐴  ⊕  𝐵 )  =  ( 𝐴  ⊕  ( ( 𝑁 ‘ 𝐴 )  ⊕  𝐶 ) )  ↔  ( 𝐴  ⊕  𝐵 )  =  𝐶 ) ) | 
						
							| 21 |  | simpr2 | ⊢ ( (  ⊕   ∈  ( 𝐺  GrpAct  𝑌 )  ∧  ( 𝐴  ∈  𝑋  ∧  𝐵  ∈  𝑌  ∧  𝐶  ∈  𝑌 ) )  →  𝐵  ∈  𝑌 ) | 
						
							| 22 | 1 | gaf | ⊢ (  ⊕   ∈  ( 𝐺  GrpAct  𝑌 )  →   ⊕  : ( 𝑋  ×  𝑌 ) ⟶ 𝑌 ) | 
						
							| 23 | 22 | adantr | ⊢ ( (  ⊕   ∈  ( 𝐺  GrpAct  𝑌 )  ∧  ( 𝐴  ∈  𝑋  ∧  𝐵  ∈  𝑌  ∧  𝐶  ∈  𝑌 ) )  →   ⊕  : ( 𝑋  ×  𝑌 ) ⟶ 𝑌 ) | 
						
							| 24 | 23 13 14 | fovcdmd | ⊢ ( (  ⊕   ∈  ( 𝐺  GrpAct  𝑌 )  ∧  ( 𝐴  ∈  𝑋  ∧  𝐵  ∈  𝑌  ∧  𝐶  ∈  𝑌 ) )  →  ( ( 𝑁 ‘ 𝐴 )  ⊕  𝐶 )  ∈  𝑌 ) | 
						
							| 25 | 1 | galcan | ⊢ ( (  ⊕   ∈  ( 𝐺  GrpAct  𝑌 )  ∧  ( 𝐴  ∈  𝑋  ∧  𝐵  ∈  𝑌  ∧  ( ( 𝑁 ‘ 𝐴 )  ⊕  𝐶 )  ∈  𝑌 ) )  →  ( ( 𝐴  ⊕  𝐵 )  =  ( 𝐴  ⊕  ( ( 𝑁 ‘ 𝐴 )  ⊕  𝐶 ) )  ↔  𝐵  =  ( ( 𝑁 ‘ 𝐴 )  ⊕  𝐶 ) ) ) | 
						
							| 26 | 11 5 21 24 25 | syl13anc | ⊢ ( (  ⊕   ∈  ( 𝐺  GrpAct  𝑌 )  ∧  ( 𝐴  ∈  𝑋  ∧  𝐵  ∈  𝑌  ∧  𝐶  ∈  𝑌 ) )  →  ( ( 𝐴  ⊕  𝐵 )  =  ( 𝐴  ⊕  ( ( 𝑁 ‘ 𝐴 )  ⊕  𝐶 ) )  ↔  𝐵  =  ( ( 𝑁 ‘ 𝐴 )  ⊕  𝐶 ) ) ) | 
						
							| 27 | 20 26 | bitr3d | ⊢ ( (  ⊕   ∈  ( 𝐺  GrpAct  𝑌 )  ∧  ( 𝐴  ∈  𝑋  ∧  𝐵  ∈  𝑌  ∧  𝐶  ∈  𝑌 ) )  →  ( ( 𝐴  ⊕  𝐵 )  =  𝐶  ↔  𝐵  =  ( ( 𝑁 ‘ 𝐴 )  ⊕  𝐶 ) ) ) | 
						
							| 28 |  | eqcom | ⊢ ( 𝐵  =  ( ( 𝑁 ‘ 𝐴 )  ⊕  𝐶 )  ↔  ( ( 𝑁 ‘ 𝐴 )  ⊕  𝐶 )  =  𝐵 ) | 
						
							| 29 | 27 28 | bitrdi | ⊢ ( (  ⊕   ∈  ( 𝐺  GrpAct  𝑌 )  ∧  ( 𝐴  ∈  𝑋  ∧  𝐵  ∈  𝑌  ∧  𝐶  ∈  𝑌 ) )  →  ( ( 𝐴  ⊕  𝐵 )  =  𝐶  ↔  ( ( 𝑁 ‘ 𝐴 )  ⊕  𝐶 )  =  𝐵 ) ) |