Metamath Proof Explorer


Theorem isngp3

Description: The property of being a normed group. (Contributed by Mario Carneiro, 4-Oct-2015)

Ref Expression
Hypotheses isngp.n 𝑁 = ( norm ‘ 𝐺 )
isngp.z = ( -g𝐺 )
isngp.d 𝐷 = ( dist ‘ 𝐺 )
isngp2.x 𝑋 = ( Base ‘ 𝐺 )
Assertion isngp3 ( 𝐺 ∈ NrmGrp ↔ ( 𝐺 ∈ Grp ∧ 𝐺 ∈ MetSp ∧ ∀ 𝑥𝑋𝑦𝑋 ( 𝑥 𝐷 𝑦 ) = ( 𝑁 ‘ ( 𝑥 𝑦 ) ) ) )

Proof

Step Hyp Ref Expression
1 isngp.n 𝑁 = ( norm ‘ 𝐺 )
2 isngp.z = ( -g𝐺 )
3 isngp.d 𝐷 = ( dist ‘ 𝐺 )
4 isngp2.x 𝑋 = ( Base ‘ 𝐺 )
5 eqid ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) = ( 𝐷 ↾ ( 𝑋 × 𝑋 ) )
6 1 2 3 4 5 isngp2 ( 𝐺 ∈ NrmGrp ↔ ( 𝐺 ∈ Grp ∧ 𝐺 ∈ MetSp ∧ ( 𝑁 ) = ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) ) )
7 4 3 msmet2 ( 𝐺 ∈ MetSp → ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) ∈ ( Met ‘ 𝑋 ) )
8 1 4 3 5 nmf2 ( ( 𝐺 ∈ Grp ∧ ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) ∈ ( Met ‘ 𝑋 ) ) → 𝑁 : 𝑋 ⟶ ℝ )
9 7 8 sylan2 ( ( 𝐺 ∈ Grp ∧ 𝐺 ∈ MetSp ) → 𝑁 : 𝑋 ⟶ ℝ )
10 4 2 grpsubf ( 𝐺 ∈ Grp → : ( 𝑋 × 𝑋 ) ⟶ 𝑋 )
11 10 adantr ( ( 𝐺 ∈ Grp ∧ 𝐺 ∈ MetSp ) → : ( 𝑋 × 𝑋 ) ⟶ 𝑋 )
12 fco ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ : ( 𝑋 × 𝑋 ) ⟶ 𝑋 ) → ( 𝑁 ) : ( 𝑋 × 𝑋 ) ⟶ ℝ )
13 9 11 12 syl2anc ( ( 𝐺 ∈ Grp ∧ 𝐺 ∈ MetSp ) → ( 𝑁 ) : ( 𝑋 × 𝑋 ) ⟶ ℝ )
14 13 ffnd ( ( 𝐺 ∈ Grp ∧ 𝐺 ∈ MetSp ) → ( 𝑁 ) Fn ( 𝑋 × 𝑋 ) )
15 7 adantl ( ( 𝐺 ∈ Grp ∧ 𝐺 ∈ MetSp ) → ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) ∈ ( Met ‘ 𝑋 ) )
16 metf ( ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) ∈ ( Met ‘ 𝑋 ) → ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) : ( 𝑋 × 𝑋 ) ⟶ ℝ )
17 ffn ( ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) : ( 𝑋 × 𝑋 ) ⟶ ℝ → ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) Fn ( 𝑋 × 𝑋 ) )
18 15 16 17 3syl ( ( 𝐺 ∈ Grp ∧ 𝐺 ∈ MetSp ) → ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) Fn ( 𝑋 × 𝑋 ) )
19 eqfnov2 ( ( ( 𝑁 ) Fn ( 𝑋 × 𝑋 ) ∧ ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) Fn ( 𝑋 × 𝑋 ) ) → ( ( 𝑁 ) = ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) ↔ ∀ 𝑥𝑋𝑦𝑋 ( 𝑥 ( 𝑁 ) 𝑦 ) = ( 𝑥 ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) 𝑦 ) ) )
20 14 18 19 syl2anc ( ( 𝐺 ∈ Grp ∧ 𝐺 ∈ MetSp ) → ( ( 𝑁 ) = ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) ↔ ∀ 𝑥𝑋𝑦𝑋 ( 𝑥 ( 𝑁 ) 𝑦 ) = ( 𝑥 ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) 𝑦 ) ) )
21 opelxpi ( ( 𝑥𝑋𝑦𝑋 ) → ⟨ 𝑥 , 𝑦 ⟩ ∈ ( 𝑋 × 𝑋 ) )
22 fvco3 ( ( : ( 𝑋 × 𝑋 ) ⟶ 𝑋 ∧ ⟨ 𝑥 , 𝑦 ⟩ ∈ ( 𝑋 × 𝑋 ) ) → ( ( 𝑁 ) ‘ ⟨ 𝑥 , 𝑦 ⟩ ) = ( 𝑁 ‘ ( ‘ ⟨ 𝑥 , 𝑦 ⟩ ) ) )
23 11 21 22 syl2an ( ( ( 𝐺 ∈ Grp ∧ 𝐺 ∈ MetSp ) ∧ ( 𝑥𝑋𝑦𝑋 ) ) → ( ( 𝑁 ) ‘ ⟨ 𝑥 , 𝑦 ⟩ ) = ( 𝑁 ‘ ( ‘ ⟨ 𝑥 , 𝑦 ⟩ ) ) )
24 df-ov ( 𝑥 ( 𝑁 ) 𝑦 ) = ( ( 𝑁 ) ‘ ⟨ 𝑥 , 𝑦 ⟩ )
25 df-ov ( 𝑥 𝑦 ) = ( ‘ ⟨ 𝑥 , 𝑦 ⟩ )
26 25 fveq2i ( 𝑁 ‘ ( 𝑥 𝑦 ) ) = ( 𝑁 ‘ ( ‘ ⟨ 𝑥 , 𝑦 ⟩ ) )
27 23 24 26 3eqtr4g ( ( ( 𝐺 ∈ Grp ∧ 𝐺 ∈ MetSp ) ∧ ( 𝑥𝑋𝑦𝑋 ) ) → ( 𝑥 ( 𝑁 ) 𝑦 ) = ( 𝑁 ‘ ( 𝑥 𝑦 ) ) )
28 ovres ( ( 𝑥𝑋𝑦𝑋 ) → ( 𝑥 ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) 𝑦 ) = ( 𝑥 𝐷 𝑦 ) )
29 28 adantl ( ( ( 𝐺 ∈ Grp ∧ 𝐺 ∈ MetSp ) ∧ ( 𝑥𝑋𝑦𝑋 ) ) → ( 𝑥 ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) 𝑦 ) = ( 𝑥 𝐷 𝑦 ) )
30 27 29 eqeq12d ( ( ( 𝐺 ∈ Grp ∧ 𝐺 ∈ MetSp ) ∧ ( 𝑥𝑋𝑦𝑋 ) ) → ( ( 𝑥 ( 𝑁 ) 𝑦 ) = ( 𝑥 ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) 𝑦 ) ↔ ( 𝑁 ‘ ( 𝑥 𝑦 ) ) = ( 𝑥 𝐷 𝑦 ) ) )
31 eqcom ( ( 𝑁 ‘ ( 𝑥 𝑦 ) ) = ( 𝑥 𝐷 𝑦 ) ↔ ( 𝑥 𝐷 𝑦 ) = ( 𝑁 ‘ ( 𝑥 𝑦 ) ) )
32 30 31 bitrdi ( ( ( 𝐺 ∈ Grp ∧ 𝐺 ∈ MetSp ) ∧ ( 𝑥𝑋𝑦𝑋 ) ) → ( ( 𝑥 ( 𝑁 ) 𝑦 ) = ( 𝑥 ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) 𝑦 ) ↔ ( 𝑥 𝐷 𝑦 ) = ( 𝑁 ‘ ( 𝑥 𝑦 ) ) ) )
33 32 2ralbidva ( ( 𝐺 ∈ Grp ∧ 𝐺 ∈ MetSp ) → ( ∀ 𝑥𝑋𝑦𝑋 ( 𝑥 ( 𝑁 ) 𝑦 ) = ( 𝑥 ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) 𝑦 ) ↔ ∀ 𝑥𝑋𝑦𝑋 ( 𝑥 𝐷 𝑦 ) = ( 𝑁 ‘ ( 𝑥 𝑦 ) ) ) )
34 20 33 bitrd ( ( 𝐺 ∈ Grp ∧ 𝐺 ∈ MetSp ) → ( ( 𝑁 ) = ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) ↔ ∀ 𝑥𝑋𝑦𝑋 ( 𝑥 𝐷 𝑦 ) = ( 𝑁 ‘ ( 𝑥 𝑦 ) ) ) )
35 34 pm5.32i ( ( ( 𝐺 ∈ Grp ∧ 𝐺 ∈ MetSp ) ∧ ( 𝑁 ) = ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) ) ↔ ( ( 𝐺 ∈ Grp ∧ 𝐺 ∈ MetSp ) ∧ ∀ 𝑥𝑋𝑦𝑋 ( 𝑥 𝐷 𝑦 ) = ( 𝑁 ‘ ( 𝑥 𝑦 ) ) ) )
36 df-3an ( ( 𝐺 ∈ Grp ∧ 𝐺 ∈ MetSp ∧ ( 𝑁 ) = ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) ) ↔ ( ( 𝐺 ∈ Grp ∧ 𝐺 ∈ MetSp ) ∧ ( 𝑁 ) = ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) ) )
37 df-3an ( ( 𝐺 ∈ Grp ∧ 𝐺 ∈ MetSp ∧ ∀ 𝑥𝑋𝑦𝑋 ( 𝑥 𝐷 𝑦 ) = ( 𝑁 ‘ ( 𝑥 𝑦 ) ) ) ↔ ( ( 𝐺 ∈ Grp ∧ 𝐺 ∈ MetSp ) ∧ ∀ 𝑥𝑋𝑦𝑋 ( 𝑥 𝐷 𝑦 ) = ( 𝑁 ‘ ( 𝑥 𝑦 ) ) ) )
38 35 36 37 3bitr4i ( ( 𝐺 ∈ Grp ∧ 𝐺 ∈ MetSp ∧ ( 𝑁 ) = ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) ) ↔ ( 𝐺 ∈ Grp ∧ 𝐺 ∈ MetSp ∧ ∀ 𝑥𝑋𝑦𝑋 ( 𝑥 𝐷 𝑦 ) = ( 𝑁 ‘ ( 𝑥 𝑦 ) ) ) )
39 6 38 bitri ( 𝐺 ∈ NrmGrp ↔ ( 𝐺 ∈ Grp ∧ 𝐺 ∈ MetSp ∧ ∀ 𝑥𝑋𝑦𝑋 ( 𝑥 𝐷 𝑦 ) = ( 𝑁 ‘ ( 𝑥 𝑦 ) ) ) )