Okay so you can describe this as:

Givens:

1. There exists the characters, '

**a**', '

**b**', and '

**c**' that generate a word, ω.

2. The order of the words generated will be

**a**'s, followed by

**b**'s, and then followed by

**c**'s.

3. The number of

**a**'s is some integer value

**k**, that is

**a** ∈

**N** (aka integer values >= 0).

4. The number of

**b**'s is some integer value

**n**, that is

**b** ∈

**N** (aka integer values >= 0).

5. The number of

**c**'s is some integer value

**k** -

**n**, that is c ∈

**N** (aka integer values >= 0).

Assumptions:

1. Since there needs to be at least zero c's, then it must be true that k - n >= 0. Therefore it must be true that k >= n.

2. I am assuming that we are not talking about negative integer variables k ∉ ℤ and n ∉ ℤ, but are natural numbers subset of ℤ, k ∈ N and n ∈ N.

Examples of generated words, ω:

k = 0, n = 0: ϵ

k = 1, n = 1: ab

k = 1, n = 0: ac

k = 2, n = 1: aabc

k = 2, n = 0: aacc

k = 2, n = 2: aabb

k = 3, n = 2: aaabbc

k = 3, n = 1: aaabcc

k = 3, n = 0: aaaccc

....... etc ......

I won't finish the assignment for you but I hope you get the gist of it. If you haven't please let me know.

**EDIT**

One big tip, create the state machine graph of the Pushdown Automata on paper to understand the state transitions then you will understand what is required to describe the Context Free Grammar.

Edited by adramalech707 - 10/28/15 at 3:42pm