Homotopies

-

Definition 1.1
Let

f:X⟶Y
and

f′:X⟶Y
be two continuous maps of the space X into the space Y. We say that f is homotopic to f′, written f≃f′, if there exists a continuous map

F:X×I⟶Y
where I denotes the interval [0,1], such that

F(x,0)=f(x)
and

F(x,1)=f′(x)
The map F is called a homotopy between f and f′.

If f≃f′ and f′ is a constant map, we call f null-homotopic.

In other words, two functions f and f′ are homotopic if one can be continuously transformed into the other, and F represents that transformation. If we think of the second parameter of F as time, at t=0 F is equal to f. As time increases, F begins to morph and by t=1, it is equal to f′

A famous example of a homotopy is between the coffee cup and the donut ortorus,mathematicallyspeaking If we imagine a coffee cup made of clay, we can mold it into a donut shape without creating a new hole whichwouldrepresentadiscontinuity.

Definition 1.2
Let f and f′ be two paths

f:X⟶X

f′:X⟶X
mapping the interval I into X, with endpoints x0 and x1. f and f′ are said to be path homotopic, written f≃Pf′, if there exists a continuous map

F:I×I⟶X
such that, given any s,t∈I

F(s,0)=f(s),F(s,1)=f′(s)
and

F(0,t)=x0,F(1,t)=x1
We call F a path homotopy between f and f′.

We can think of a path homotopy as a more specific version of a homotopy. We know that a path in topology traces a curve between two fixed endpoints. The second condition specifies that the endpoints x0 and x1 should say the same even as t increases.

All path homotopies are homotopies, but not the other way around!

Lemma 1.3
The relations ≃ and ≃P are equivalence relations.

Proof: We need to show that the relations ≃ and ≃P are reflexive, symmetric, and transitive. For the first two, we will look at ≃ only, leaving out ≃P since it will follow by the same argument. For transitivity, we will need to address the extra condition of ≃P which requires that the endpoints stay the same.

    


Reflexivity: Let

f:X⟶Ybe a continuous map.

f≃f with the trivial homotopy

F(x,t)=f(x)∀t∈[0,1]

Symmetry: Define f as before and let Let

f′:X⟶Y
be another continuous function such that f≃f′. Let F(x,t) be a homotopy between f and f′, meaning that

F(x,0)=f(x)andF(x,1)=f′(x)
Then, we can define G(x,t)=F(x,1−t), which is also a homotopy between f and f′. We can think of G as F going backwards, since t is starting at one and going to zero. So we have

G(x,0)=F(x,1)=f′(x)
and

G(x,1)=F(x,0)=f(x)
which gives us
f≃f′.

Transitivity: Introduce a third path

f″:X⟶Ysuch that f≃f′ and f′≃f″. Let F be a homotopy between f and f′ and let F′ be a homotopy between f′ and f″. We need to find a homotopy between f and f″.
Define

G:X×I⟶Y
by

G(x,t)={F(x,2t)F′(x,2t−1)t∈[0,12]t∈[12,1]
While t only goes from zero to one, this transformation takes place over 2 “seconds”, since its components go from 0 to 1 one after another. It’s clear that this maps f to f″, since it does the transformation of F followed by the transformation of F′. We can even check:

G(x,0)=F(x,2⋅0)=F(x,0)=f(x)

G(x,1)=F′(x,2(1)−1)=F′(x,1)=f″(x)
So now we only need to show that it is continuous to meet the requirements of a homotopy.

This map is indeed continuous, since at t=12 we have

F(x,2t)=f′(x)=F′(x,2t−1)
Therefore, by the Pasting Lemma, G s continuous on X×I
and is the required homotopy between f and f″.

Let’s also look at transitivity for path homotopies. Let:

F:I×I⟶X

F′:I×I⟶X
be path homotopies between f and f′, and f′ and f″ respectively, and define G nearly the same as before, only with variable s

G(s,t)={F(s,2t)F′(s,2t−1)t∈[0,12]t∈[12,1]

Since f and f′ are both path homotopies, we have that for all t∈I

F(0,t)=x0,F(1,t)=x1
and

F′(0,t)=x0,F′(1,t)=x1

So we have

G(0,t)={F(0,2t)F′(0,2t−1)t∈[0,12]t∈[12,1]=x0∀t∈[0,1]
and

G(1,t)={F(1,2t)F′(1,2t−1)t∈[0,12]t∈[12,1]=x1∀t∈[0,1]
Therefore, G is a path homotopy between f and f′.

Definition 1.4
We say that a set X is convex if every line segment connecting two points in X fully contained in X.

Theorem 1.5
Let f and g be any two maps of a space X into ℝ2. Then, f and g are homotopic and

F(x,t)=(1−t)f(x)+tg(x)
is a homotopy between them.

The proof of this comes straight from the definition of homotopy.

For an example, let

f:x↦(x,x2)

g:x↦(x,x5)
Below, we can see the homotopy

F(x,t)=(1−t)(x,x2)+t(x,x5)
transforming f into g as t goes from 0 to 1.

F in this case is called a straight line homotopy. The straight line homotopy will work for any convex subset A of ℝn and

f:X⟶A

g:X⟶A

Example 1.6
Let X=ℝ2−{0}. Aplanewithaholeinthemiddle The paths

f(s)=(cosπs,sinπs)

g(s)=(cosπs,2sinπs)
are path homotopic in X.

But if we let

h(s)=(cosπs,−sinπs)
f and h are not path homotopic. Why? Transforming f into h would require passing through (0,0)—where the hole is! Therefore the transformation cannot be continuous, which is required of a homotopy.

Definition 1.7
An equivalence class under homotopy is called a homotopy class. The homotopy class consisting of all maps homotopic to f is denoted [f].

Definition 1.8
Let f be a path in X from x0 to x1, and let g be a path in X from x1 to x2. We call these paths composable, since f(1)=g(0).


We define the product

h(s)=(f∗g)(s)={f(2s)g(2s−1)s∈[0,12]s∈[12,1]
This function is also sometimes called concatenation, and is well defined and continuous by the Pasting Lemma. This functions represents the path created by traveling along f from x0 to x1, and then along g from x1 to x2.

<

Theorem 1.9
Let f and f′ be two paths from x0 to x1 and let g and g′ be two paths from x1 to x2. If F is a path homotopy between between f and f′ and G is a path homotopy between g and g′, the product H=F∗G is a homotopy between f∗g and f′∗g′.



Proof: By the definition of the product we have that

H(s,t)=(F∗G)(s,t)={F(2s,t)G(2s−1,t)s∈[0,12]s∈[12,1]
This map is also well-defined and continuous, since at t=12 we have F,(1,t)=G(0,t)=x1 for all t.

Now, if we let t=0 we get

H(s,0)={F(2s,0)G(2s−1,0)s∈[0,12]s∈[12,1]

={f(2s)g(2s−1)s∈[0,12]s∈[12,1]=(f∗g)(s)
Similarly, for t=1 we have

H(s,1)={f′(2s)g′(2s−1)s∈[0,12]s∈[12,1]=(f′∗g′)(s)

Therefore, H is a homotopy between f∗g and f′∗g′. In other words, the product of the homotopies, is the homotopy of the products!


Corollary 1.10
For homotopy classes [f] and [g], we have the property

[f]∗[g]=[f∗g]

Theorem 1.11
The operation * has the following properties:

  1. Associativity [f]∗([g]∗[h])=([f]∗[g])∗[h]
  2. Identity [ex0]∗[f]=[f] and [f]∗[ex1]=[f] where$ea:x↦a$istheconstantfunctioninthesamespaceas$f$
  3. Inverse Given the path f in X from x0 to x1, let f̃  be the path defined by
    f̃ (s)=f(1−s)
    f̃  is called the reverseof f and we have \\
    [f]∗[f̃ ]=[ex0] and [f̃ ]∗[f]=[ex1]

Before we can prove this, we need the following lemma:

Lemma 1.12

  1. Let F be a path homotopy in X between the paths f and f′ and letk:X⟶Ybe any continuous map from the space X to the space Y.
    Then, k∘F is a path homotopy between the paths k∘f and k∘f′.
  2. If f and g are paths in X with f(1)=g(0), then
    k∘(f∗g)=(k∘f)∗(k∘g)

Proof of Lemma:

     a Since F be a path homotopy, it is a continuous map

F:X×I⟶Ysuch that

F(s,0)=f(s),F(s,1)=f′(s)
and

F(0,t)=x0,F(1,t)=x1
Now if we compose k with F, we get a continuous map

k∘F:I×I⟶Y
such that

(k∘F)(s,0)=k(F(s,0))=k(f(s))=(k∘f)(s)

(k∘F)(s,1)=k(F(s,1))=k(f′(s))=(k∘f′)(s)
Additionally we have that

(k∘F)(0,t)=k(F(0,t))=k(x0)

(k∘F)(1,t)=k(F(1,t))=k(x1)
which, if x0 and x1 are the endpoints of f and f′, will be the endpoints of the paths k∘f and k∘f′.

Therefore k∘F is a path homotopy between k∘f and k∘f′.

     b Using the definition of the product:

k∘(f∗g)(s)=k∘{f(2s)g(2s−1)s∈[0,12]s∈[12,1]

={k∘f(2s)k∘g(2s−1)s∈[0,12]s∈[12,1]

=(k∘f)∗(k∘g)(s)

Now we are ready to prove the theorem.


Proof of Theorem 1.11: We will do these out of order since associativity is a bit trickier than the rest.

     II. The Identity Property: First we will show the first half of the statement, that [ex0]∗[f]=[f]. To do this, we will define two functions and show they are homotopic. Then, we will compose each with f, which by part a of our lemma will give us our result.
First, define the function

e0:I⟶Iby

e0(s)=0∀s∈[0,1]
and the function

i:I⟶Iby

i(s)=s∀s∈[0,1]
Now, take the product

(e0∗i)(s)={e0(2s)i(2s−1)s∈[0,12]s∈[12,1]

={02s−1s∈[0,12]s∈[12,1]
Since I is convex, by Theorem 1.5 we can define

G:I×I⟶Iby

G(s,t)=(1−t)i(s)+t(e0∗i)(s)
which is a homotopy of i and e0∗i.

Now we will use our lemma. We know that f∘G:I×I⟶I is continuous and:

(f∘G)(s,0)=f(G(s,0))=f(s)

(f∘G)(s,1)=f(G(s,1))=f(e0∗i)(s)=((f∘e0)∗(f∘i))(s)

={f∘e0(s)f∘i(2s−1)s∈[0,12]s∈[12,1]

={x0f(2s−1)s∈[0,12]s∈[12,1]

=(ex0∗f)(s)
This gives us f≃pex0∗f and our result

[f]=[ex0∗f]=[ex0]∗[f]
To show that [f]∗[ex1]=[f], we will use a similar method. Define

e1:I⟶Iby

e1(s)=1∀s∈[0,1]and keep i the same.
Now we have the product i∗e1:I⟶I given by

(i∗e1)(s)={2s1s∈[0,12]s∈[12,1]
Just like in the first part, we can define H:I×I⟶I to be a homotopy between i and i∗e1.

Therefore, f∘H is a homotopy between f=f∘i and (f∘i)∗(f∘e1)=f∗ex1, and we have our result

[f]≃p[f]∗[ex1]

     III. The Inverse Property: Using the same identity map i as before, we can define its reverse by

ĩ (s)=1−s
i∗ĩ  will be a path in I from 0 to 0, and therefore we have that

e0≃pi∗ĩ 
By our lemma, this gives us

f∘e0≃p(f∘i)∗(f∘ĩ )
where f∘e0=x0 and

(f∘i)∗(f∘ĩ )={f∘i(2s)f∘ĩ (2s−1)s∈[0,12]s∈[12,1]

={f(2s)f(−2s)s∈[0,12]s∈[12,1]

=f∗f̃ 
is a path that starts and ends at x0.

Therefore we have

f∗f̃ ≃pex0
and our intended result

[f]∗[f̃ ]=[ex0]
Through the same process we can show that

[f̃ ]∗[f]=[ex0]
With that, the time for associativity has come.

     I. The Associative Property To begin this proof, we have to establish the algebraic fact which goes as follows: Let [a,b] and [c,d] are two intervals in ℝ. There will always be a unique positive linear map

p:[a,b]⟶[c,d]

which transforms [a,b] into [c,d] and has the form y=mx+b. Positive here means that the map will always have a positive slope, which makes sense because we need to preserve order. For both intervals, as x increases, y increases.

For instance, the positive linear map from [1,2] to [−5,−1] is given by
p(x)=4x−9.

Now, let f,g,h be three composable functions. That is:

  • f(0)=x0
  • f(1)=x1=g(0)
  • g(1)=x2=h(0)
  • h(1)=x3

We can now consider the triple product of these three functions. \\ \\
First, consider the product f∗(g∗h), which is given by

(f∗(g∗h))(s)={f(2s)(g∗h)(2s−1)s∈[0,12]s∈[12,1]

=⎧⎩⎨⎪⎪f(2s)g(4s−2)h(4s−3)s∈[0,12]s∈[12,34]s∈[34,1]\\

Now what if we moved the parentheses? We would get

((f∗g)∗h)(s)={(f∗g)(2s)h(2s−1)s∈[0,12]s∈[12,1]

=⎧⎩⎨⎪⎪f(4s)g(4s−1)h(2s−1)s∈[0,14]s∈[14,12]s∈[12,1]

Our challenge is to prove that these are equal. To do this, we will look at the product as a series of compositions involving positive linear maps.


Looking at f∗(g∗h), the first component of the product maps the interval [0,12 to [0,1] and then plugs it into f. The second maps [12,34] to [0,1] and then plugs it into to g, and similarly for the third component.


Let’s define a path to represent these three linear maps. Let a and b be points such that 0<a<b<1. Define a path ka,b as follows:

  • On the interval [0,a], ka,b equals the linear map of [0,a] to [0,1], plugged into f
  • On the interval [a,b], it equals the linear map [a,b] to [0,1], plugged into g
  • On the interval [b,1], it equals the linear map [b,1] to [0,1], plugged into h

The way we defined this path, it could represent either f∗(g∗h) or (f∗g)∗h.


We can show that if we replace a and b with two different points c and d where 0<c<d<1, then ka,b≃Pkc,d.


Let p:I⟶I be a map where p(a)=c and p(b)=d.

A graph visualizing p, with a and b on the x axis and c and d on the y axis. It shows that p(a) =c and p(b)=d

p is made up of the positive linear maps that map [0,a], [a,b], and [b,1] to [0,c], [c,d], and [d,1] respectively, and we have

ka,b∘p=kc,d
Since p turns a into c and b into d.

Now, since p maps I to I and so does the identity map,
i:I⟶I, there must exist a path homotopy P between them. By Lemma 1.12, this means that ka,b∘P is a path homotopy between ka,b and kc,d.

Hence, f∗(g∗h) and (f∗g)∗h are in the same homotopy class. This gives us our result

[f]∗([g]∗[h])=([f]∗[g])∗[h]
In fact, this extends to associativity for any finite product of paths!

Theorem 1.13
Let f be a path in X and let

0=a0<a1<⋯<an=1
be a partition of the interval [0,1] and let

fi:I⟶Xi=1,2,…,n
be the path that represents the positive linear map of I onto [ai−1,ai] plugged into fi.

Then,

[f]=[f1]∗[f2]∗⋯∗[fn]

Proof: Consider the set of paths

pi:I⟶Igiven by

pi(s)=(1−s)ai−1+sai0≤s≤1,i=1,2,…,n
Since I is convex, all of these paths are fully contained in I. All of these paths together are essentially connecting the dots a0,a1,…,an.

Now define P:I⟶I by

p=p1∗p2∗⋯∗pn
Since all of these together create a path from 0 to 1, we have that

[p]=[p1]∗[p2]∗⋯∗[pn]=[i]
where i is the identity map in I,
and

p(0)=p1(0)=0=i(0)

p(1)=pn(1)=1=i(1)
Therefore, we can say that there is a path homotopy F:I×I⟶I between p and i which satisfies

F(s,0)=p(s)F(s,1)=i(s)

F(0,t)=0F(1,t)=1
Finally, we can compose each with f and get

f∘i≃(f∘p1)∗(f∘p2)∗⋯∗(f∘pn)
which gives us the intended result

[f]=[f1]∗[f2]∗⋯∗[fn]

Problem 1
Show that if

h,h′:X⟶Yare homotopic and

h,k′:Y⟶Zare also homotopic, then k∘h and k′∘h′
are homotopic.

Proof: Since we know h≃h′, there exists a homotopy

H:X×I⟶Y

H(x,0)=h(x),H(x,1)=h′(x)
Similarly, since k≃k′ we have the homotopy

K:Y×I⟶Z

K(y,0)=h(y),K(y,1)=h′(y)
Now, to define a homotopy between k∘h and k′∘h′, we need to build a composition map. So define a new function

Φ:X×I⟶Y×I
given by

Φ(x,t)=(H(x,t),t)
and define

F:X×I⟶Z
to be a continuous map.
Now we can build a complete diagram to connect the three spaces:

This shows us visually that F=K∘Φ. So we have

F(x,0)=(K∘Φ)(x,0)=K(H(x,0),0)

=K(h(x),0)=(k∘h)(x)
and

F(x,1)=(K∘Φ)(x,1)=K(H(x,1),1)

=K(h′(x),1)=(k′∘h′)(x)
Therefore F is the required homotopy which gives us

k∘h≃k′∘h′

Problem 2
Given the spaces X and Y, let [X,Y] denote the set of homotopy classes of maps of X into Y.

  1. Let I=[0,1]. Show that for any X, the set [X,I] has only one element.
  2. A subset A of a space X is called path connected if, for every pair of points a,b∈A, there exists a continuous mapφ:[0,1]⟶Asuch that φ(0)=a and φ(1)=b.
    Show that if Y is path connected, the set [I,Y] has a single element. /li>

Proof: \\
     a To show that the set of homotopy classes has only one element, we need to show that if f and g are two maps between X and I, it must be true that f≃g. So define

f,g:X⟶I
If I is convex, we can define the straight line homotopy between them

F(x,t)=(1−t)g(x)+tf(x)
We’ve been treating I as convex throughout this section, but it doesn’t hurt to prove it here. To show that a set is convex, we need to show that for any two points a,b∈I, the straight line connecting them is also in I.

To do this, let a≤b be points in I. The line between them is given the same way that the homotopy is, for t∈[0,1] we have that

c(t)=(1−t)a+tb
connects a and b, and furthermore, given how we restrict t every point on that line is in I. Hence, I is convex and for any f,g that map X to I

F(x,t)=(1−t)g(x)+tf(x)
must be a homotopy between them.

Therefore [X,Y] contains only one element.

     b For this problem, we define the map

ea:I⟶Y
by the constant function

ea(s)=a∀s∈[0,1]
where a∈Y is a fixed point. To prove that [I,Y] has only one element, we will prove that any other continuous map

g:I⟶Ymust be homotopic to ea.

We can show that g≃eg(0) by defining the homotopy

G:I×I⟶Yby

G(x,t)=g((1−t)x)

which gives us the required

G(x,0)=g(0),G(x,1)=g(x)

However, this is not enough to say [I,Y]={[eg(0)]} because the value of eg(0) depends on g and we want this to work for any continuous function from I to Y.
However, if we can show that ea≃eb for all a,b∈Y, we can use g≃eg(0) to show that g≃ea.

Since Y is path connected, for any a,b∈Y, there exists a path

φ:I⟶Y
such that

φ(0)=a,φ(1)=b
We can use this path to give us the required homotopy between ea and eb. Consider the map

E:I×I⟶Y
defined by

E(s,t)=φ(t)
We have

E(s,0)=φ(0)=a=ea(s)

E(s,1)=φ(1)=b=eb(s)
Therefore ea≃eb.

So, for any path g:I⟶Y we know that
and now we know g≃eg(0), and we now know that

g≃eg(0) and eg(0)≃ea
which together give us

g≃ea⇒[g]=[ea]
Hence, the set [I,Y] has a single element.

Problem 3
A space X is said to be contractibleif the identity map is null homotopic. Show that:

  1. I and ℝ are contractible.
  2. A contractible space is path connected.
  3. If Y is contractible, then for any X, the set [X,Y] has a single element.
  4. If X is contractible and Y is path-connected, the [X,Y] has a single element.




Proof:

     a Now this certainly feels like it should be true, looking at a picture for the identity map in ℝ.

a graph with f(x) = x and constant map c(x) = 3, with arrows showing how f(x) can be transformed into c


Let’s start with the proof for I. Let iI:I⟶I denote the identity function in I. We only need to prove that the identity map is equal to some constant map, so we’ll use the easiest one:

0:I⟶Iwhere

0(s)=0∀s∈IConsider

F:I×I⟶I
where

F(s,t)=stThis gives us

F(s,0)=0⋅s=0(s)

F(x,1)=1⋅s=iI(s)
Therefore, iI≃0.

Now, for ℝ, we redefine our 0 function as

0:ℝ⟶ℝ

0(s)=0∀s∈ℝand adjust our F to be

F:ℝ×I⟶ℝ
where

F(s,t)=st
And just as before we have

F(s,0)=0⋅s=0(s)

F(x,1)=1⋅s=iℝ(s)
which gives us our result of iℝ≃0.

     b Let X be a contractible space. We need to show that for all a,b∈X, there exists a path φ:[0,1]⟶X which connects them.
Let iX:X⟶X be the identity function in X and define

ea:I⟶X
by

ea(s)=a∀s∈[0,1]where a∈X is fixed.
Since X is contractible, we have iX≃ea. Therefore there exists a continuous map

F:X×I⟶Xsuch that

F(x,0)=ea(x)=a,F(x,1)=iX(x)=x
This is almost enough. We just need adjust our function so it can map a to any point b∈X.

To do this, define

φ:I⟶Xby

φ(t)=F(b,t)
This gives us exactly what we want

φ(0)=F(b,0)=ea(b)=a

φ(1)=F(b,1)=iX(b)=b
Since we can choose any a,b∈X here that we’d like, we have our result that X is path connected.



%3c
     c Let

f:X⟶Ybe a continuous map. Just like in Problem 2b, we will get our result by showing that f is homotopic to a constant map.
Since Y is contractible, there exists a continuous map F:Y×I⟶Y such that

F(y,0)=ea(x)=a

F(y,1)=iY(y)=y
To use this knowledge to say anything about maps from X⟶Y, we need do to some function composition. So define the function

Φ:X×I⟶Y×Iby

Φ(x,t)=(f(x),t)We now have the composition diagram

which shows us that

G(x,t)=(F∘Φ)(x,t)=F(f(x),t)
Therefore, if F and Φ are continuous, G must be continuous and

G(x,0)=F(f(x),0)=ea(x)=a

G(x,1)=F(f(x),1)=f(x)

Hence, f≃a and the set [X,Y] has only one element.

     d Let X be a contractible space. Thus we know, for any p∈X that there exists a continuous H:X×I⟶X such that

H(x,0)=IX(x)=x

H(x,1)=p
Now, pick a point q∈Y and define the constant map

fq:X⟶Y
by

fq(x)=q∀x∈X
Once again, we want to show that for any continuous function,

g:X⟶Y
g must be homotopic to fq.

Given q and g(p) are both points in Y, by path-connectedness there must exist a map

φ:I⟶Y
such that

φ(0)=g(p),φ(1)=q
Now define the function

Φ(x,t)={g(H(x,2t))φ(2t−1)t∈[0,12]s∈[12,1]
Φ is continuous an well defined at t=12 since g(H(x,1))=g(p)=φ(0), and since

Φ(x,0)=g(H,x,0))=g(x)
and

Φ(x,1)=φ(1)=fq(x)
we have that g≃fq. Therefore, [X,Y] has one element.

Dan Herbatschek
Dan Herbatschekhttps://danherbatschek.com
Dan Herbatschek is an applied mathematician and author, with a deep passion for the history and philosophy of science. He holds a Summa Cum Laude, Phi Beta Kappa degree from Columbia University, where he concentrated on Intellectual History, Philosophy, and Mathematics. His award-winning thesis, “The Reconstruction of Language and Time: Mathematics, Artificial Languages, and the Changing Idea of Time in the Scientific Revolution,” reflects his fascination with linguistic thought and artificial languages—insights that organically steered him toward exploring mathematics and early artificial intelligence. As the Founder & CEO of Ramsey Theory Group, Dan specializes in bridging the worlds of business and software engineering. He helps translate organizational vision into executable technological solutions. His expertise spans Python and JavaScript programming, data visualizations, machine learning models, and the development of scalable, data-intensive applications. Before launching Ramsey Theory Group, Dan gained valuable experience as an Investment Consultant and a Data Management Consultant in New York. When he’s not immersed in mathematical models or historical inquiry, he writes and curates content for his “Open Mind” blog, exploring topics in philosophy, epistemology, and mathematics. Dan is also passionate about boxing, both as a sport and as a discipline of character, and enjoys sharing his enthusiasm with others He treasures time with his family—especially his wife, his two young daughters, and his baby boy—balancing his academic, professional, and personal interests with care and devotion.

Share this article

Recent posts

Popular categories

Previous article
Next article

Recent comments