G = (VN, VT, P, S) V: vocabulary N: non-terminals T: terminals P: productions S: the starting symbol
u X v => u Y v X : single non-terminal Y : non-empty string u, v : arbitrary string
Example:
S => aSBC S => aBC CB => BC S : Starting symbol aB => ab A, B, C : non-terminals bB => bb a, b, c : terminals bC => bc cC => cc
ISA : is an instance of AKO : is a subclass of HAS-A