This paper introduces a method for automatic composition of Semantic Web services using Linear Logic (LL) theorem proving. The method uses Semantic Web service language (DAML-S) for external presentation of Web services, while, internally, the services are presented by extralogical axioms and proofs in LL. We use a process calculus to present the composite service formally. The process calculus is attached to the LL inference rules in the style of type theory. Thus the process model for a composite service can be generated directly from the proof. The subtyping rules that are used for semantic reasoning are presented with LL inference figures. We propose a system architecture where the DAML-S translator, the LL theorem prover and the semantic reasoner can operate together to fulfill the task. This architecture has been implemented in Java.