Prolog is a logic language that is associated with artificial intelligence (AI) and computational linguistics. Prolog's roots are in first-order formal logic. Unlike many other programming languages Prolog is primarily intended as a declarative language. The program logic is expressed as relations, represented by facts and rules. The computation is started by running a query on these relations. Prolog is one of the earliest logic programming languages. It remains the most popular today, with many free and commercial implementations. The language is used for natural language processing, theorem-proving, expert systems and term rewriting. Modern Prolog environments allow for the creation of graphical interfaces as well as administrative applications and networked applications.